一
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
typedef int ElemType;
typedef struct {
ElemType data[N];
int length;
}SeqList;
SeqList L;
int SeqLinit(SeqList L)
{
L.length = 0;
return 1;
}
void SeqLN()
{
for (int i = 1; i <= L.length / 2; i++) {
swap(L.data[i], L.data[L.length - i + 1]);
}
}
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
L.data[i] = x;
L.length++;
}
for (int i = 1; i <= n; i++) {
cout << L.data[i] << " ";
}
cout << endl;
SeqLN();
for (int i = 1; i <= n; i++) {
cout << L.data[i] << " ";
}
cout << endl;
return 0;
}
二
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
typedef struct {
int data[N];
int length;
}Seqlist;
Seqlist L;
void Seqinit()
{
L.length = 0;
}
void Seqinsert(int x)
{
L.data[++L.length] = x;
}
int main()
{
int x;
while (cin >> x) {
if (!x) break;
Seqinsert(x);
}
for (int i = 1; i <= L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
return 0;
}
三
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
typedef struct {
int data[N];
int length;
}Seqlist;
Seqlist L;
void Seqinit()
{
L.length = 0;
}
void Seqinsert(int x)
{
L.data[++L.length] = x;
}
void Seqinv()
{
for (int i = 1; i <= L.length / 2; i++) {
swap(L.data[i], L.data[L.length - i + 1]);
}
}
int main()
{
int x;
while (cin >> x) {
if (!x) break;
Seqinsert(x);
}
Seqinv();
for (int i = 1; i <= L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
return 0;
}
四
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
typedef struct {
int data[N];
int length;
}Seqlist;
Seqlist L;
void Seqinit()
{
L.length = 0;
}
void Seqinsert(int x)
{
L.data[++L.length] = x;
}
void Seqinv()
{
for (int i = 1; i <= L.length / 2; i++) {
swap(L.data[i], L.data[L.length - i + 1]);
}
}
void Seqsort(int x)
{
int i = L.length;
while (x < L.data[i] && i>0) {
L.data[i + 1] = L.data[i];
i--;
}
L.data[++i] = x;
L.length++;
}
int main()
{
Seqinit();
int x;
while (cin >> x) {
if (!x) break;
Seqsort(x);
}
for (int i = 1; i <= L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
return 0;
}
五
#include <iostream>
using namespace std;
typedef struct node {
int data;
struct node* next;
}Lnode, * Linklist;
Linklist H;
void Linit()
{
H = new Lnode;
if (H == NULL) cout << "none" << endl;
H->next = NULL;
}
Linklist Lgreat()
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
r = r->next;
}
}
Linklist Ldel()
{
Linklist p, r;
p = H;
while (p->next != NULL) {
if (p->next->data % 2 == 0) {
r = p->next;
p->next = r->next;
delete r;
}
else p = p->next;
}
return H;
}
void Lout()
{
Linklist p;
p = H->next;
while (p != NULL) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int main()
{
Linit();
Lgreat();
Ldel();
Lout();
return 0;
}
六
#include <iostream>
using namespace std;
typedef struct node {
int data;
struct node* next;
}Lnode,*Linklist;
void init(Linklist& H)
{
H = new Lnode;
if (H == NULL) {
cout << "none" << endl;
return;
}
H->next = NULL;
}
Linklist Lins(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
r = H;
while (r->next && r->next->data > x) {
r = r->next;
}
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
}
}
void Lsort(Linklist& la, Linklist& lb)
{
Linklist pa, pb, r, h, q;
int x;
pa = la->next;
pb = lb->next;
h = new Lnode;
h->next = NULL;
q = h;
while (pa != NULL && pb != NULL) {
if (pa->data > pb->data) {
x = pa->data;
pa = pa->next;
}
else {
x = pb->data;
pb = pb->next;
}
r = new Lnode;
r->data = x;
q->next = r;
q = q->next;
}
if (pa != NULL) q->next = pa;
if (pb != NULL) q->next = pb;
la = h;
}
void Lout(Linklist H)
{
Linklist p;
p = H->next;
while (p != NULL) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int main()
{
Linklist la, lb;
init(la);
init(lb);
Lins(la);
Lins(lb);
Lsort(la,lb);
Lout(la);
return 0;
}
七
#include <iostream>
using namespace std;
typedef struct node {
int data;
struct node* next;
}Lnode, * Linklist;
void init(Linklist& H)
{
H = new Lnode;
if (H == NULL) {
cout << "none" << endl;
return;
}
H->next = NULL;
}
Linklist Linwc(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
}
}
Linklist Linpaixu(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
r = H;
while (r->next && r->next->data > x) {
r = r->next;
}
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
}
}
void Lsort(Linklist& la, Linklist& lb)
{
Linklist pa, pb, r, h, q;
int x;
pa = la->next;
pb = lb->next;
h = new Lnode;
h->next = NULL;
q = h;
while (pa != NULL && pb != NULL) {
if (pa->data > pb->data) {
x = pa->data;
pa = pa->next;
}
else {
x = pb->data;
pb = pb->next;
}
r = new Lnode;
r->data = x;
q->next = r;
q = q->next;
}
if (pa != NULL) q->next = pa;
if (pb != NULL) q->next = pb;
la = h;
}
void Lchai(Linklist& la, Linklist& lb)
{
Linklist p, pb, pa, ra, rb;
p = la->next;
la->next = NULL;
ra = la;
rb = lb;
while (p != NULL) {
if (p->data & 1) {
pa = new Lnode;
pa->data = p->data;
pa->next = ra->next;
ra->next = pa;
}
else {
pb = new Lnode;
pb->data = p->data;
pb->next = rb->next;
rb->next = pb;
}
p = p->next;
}
}
void Lout(Linklist H)
{
Linklist p;
p = H->next;
while (p != NULL) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int main()
{
Linklist la, lb;
init(la);
init(lb);
Linwc(la);
Lchai(la, lb);
Lout(la);
Lout(lb);
return 0;
}
八
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
typedef struct node {
int cofe, exp;
struct node* next;
}Lnode,*Linklist;
void init(Linklist& H)
{
H = new Lnode;
if (H == NULL) cout << "none" << endl;
H->next = NULL;
}
void Lin(Linklist& H)
{
Linklist p, r;
int n;
cin >> n;
int a, b;
r = H;
while (n--) {
scanf("%d,%d", &a, &b);
p = new Lnode;
p->cofe = a;
p->exp = b;
p->next = r->next;
r->next = p;
r = r->next;
}
}
void Lhb(Linklist& la, Linklist& lb)
{
Linklist pa, pb, r, p, h;
pa = la->next;
pb = lb->next;
h = new Lnode;
h->next = NULL;
r = h;
while (pa != NULL && pb != NULL) {
if (pa->exp == pb->exp) {
if (pa->cofe + pb->cofe == 0) {
pa = pa->next;
pb = pb->next;
}
else {
p = new Lnode;
p->cofe = (pa->cofe + pb->cofe);
p->exp = pa->exp;
p->next = r->next;
r->next = p;
r = r->next;
pa = pa->next;
pb = pb->next;
}
}
else if (pa->exp > pb->exp) {
p = new Lnode;
p->cofe = pb->cofe;
p->exp = pb->exp;
p->next = r->next;
r->next = p;
r = r->next;
pb = pb->next;
}
else {
p = new Lnode;
p->cofe = pa->cofe;
p->exp = pa->exp;
p->next = r->next;
r->next = p;
r = r->next;
pa = pa->next;
}
}
if (pa != NULL) r->next = pa;
if (pb != NULL) r->next = pb;
la = h;
}
void Lout(Linklist H)
{
Linklist p;
p = H->next;
while (p != NULL) {
printf("%d*x^%d ", p->cofe, p->exp);
p = p->next;
}
cout << endl;
}
int main()
{
Linklist la, lb;
init(la);
init(lb);
Lin(la);
Lin(lb);
Lhb(la, lb);
Lout(la);
return 0;
}
九
#include <iostream>
using namespace std;
typedef struct node {
int data;
struct node* next;
}Lnode, * Linklist;
void init(Linklist& H)
{
H = new Lnode;
if (H == NULL) {
cout << "none" << endl;
return;
}
H->next = NULL;
}
Linklist Lintc(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
}
}
Linklist Linwc(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
r = r->next;
}
}
Linklist Linpaixu(Linklist& H)
{
Linklist p, r;
r = H;
int x;
while (cin >> x) {
if (x == 0) return H;
r = H;
while (r->next && r->next->data > x) {
r = r->next;
}
p = new Lnode;
p->data = x;
p->next = r->next;
r->next = p;
}
}
void Lsort(Linklist& la, Linklist& lb)
{
Linklist pa, pb, r, h, q;
int x;
pa = la->next;
pb = lb->next;
h = new Lnode;
h->next = NULL;
q = h;
while (pa != NULL && pb != NULL) {
if (pa->data > pb->data) {
x = pa->data;
pa = pa->next;
}
else {
x = pb->data;
pb = pb->next;
}
r = new Lnode;
r->data = x;
q->next = r;
q = q->next;
}
if (pa != NULL) q->next = pa;
if (pb != NULL) q->next = pb;
la = h;
}
void Lchai(Linklist& la, Linklist& lb)
{
Linklist p, pb, pa, ra, rb;
p = la->next;
la->next = NULL;
ra = la;
rb = lb;
while (p != NULL) {
if (p->data & 1) {
pa = new Lnode;
pa->data = p->data;
pa->next = ra->next;
ra->next = pa;
}
else {
pb = new Lnode;
pb->data = p->data;
pb->next = rb->next;
rb->next = pb;
}
p = p->next;
}
}
void Lhb(Linklist& la, Linklist& lb)
{
Linklist pa, pb, r, h, q;
int x;
pa = la->next;
la->next = NULL;
pb = lb->next;
h = new Lnode;
h->next = NULL;
q = h;
while (pa != NULL && pb != NULL) {
if (pa->data < pb->data) {
x = pa->data;
pa = pa->next;
}
else if (pa->data == pb->data) {
x = pa->data;
pa = pa->next;
pb = pb->next;
}
else {
x = pb->data;
pb = pb->next;
}
r = new Lnode;
r->data = x;
q->next = r;
q = q->next;
}
q->next = NULL;
if (pa != NULL) q->next = pa;
if (pb != NULL) q->next = pb;
la = h;
}
void Lout(Linklist H)
{
Linklist p;
p = H->next;
while (p != NULL) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int main()
{
Linklist la, lb;
init(la);
init(lb);
Linwc(la);
Linwc(lb);
Lhb(la, lb);
Lout(la);
return 0;
}