本文共 1044 字,大约阅读时间需要 3 分钟。
1.注意临时指针还是用来保存指针值,不要用来指结点
#include#include typedef struct LNode{ int data; struct LNode* next;}LNode,*LinkList;LinkList CreateList(){ LinkList L; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; LNode *q = L; LNode *p; int x; scanf("%d",&x); while(x != 999) { p = (struct LNode *)malloc(sizeof(LNode)); p->data = x; p->next = NULL; q->next = p; q = p; scanf("%d",&x); } return L;}void main(){ LinkList a = (LinkList)malloc(sizeof(LNode)); LinkList b = (LinkList)malloc(sizeof(LNode)); a = CreateList(); b = CreateList(); LinkList c = (LinkList)malloc(sizeof(LNode)); c->next = NULL; LNode *p = a->next; LNode *q = b->next; LNode *y; while(p != NULL && q != NULL) { if(p->data <= q->data) { y = p->next; p->next = c->next; c->next = p; p = y; } if(p->data > q->data) { y = q->next; q->next = c->next; c->next = q; q = y; } } //ex if(q) p = q; while(p != NULL) { y = p->next; p->next = c->next; c->next = p; p = y; } y = c->next; while(y != NULL) { printf("%d ",y->data); y = y->next; }}
转载地址:http://wxiq.baihongyu.com/