#include <stdio.h> typedef struct LNode{ int data; struct LNode* next; }LNode,*linkList; void initList(linkList &l) { l=new LNode; if(l==NULL) printf("分配内存失败\n"); else { l->next=NULL; printf("初始化成功\n"); } } void insertList(linkList& l,int e,int r) { LNode* p=l; int j=0; while(p&&(j<r-1)) {p=p->next;++j;} if(!p||(j>r-1)) printf("错误\n"); else { LNode* s=new LNode; s->data=e; s->next=p->next; p->next=s; } } int locateList(linkList l,int t,int n) { int i; LNode* p=l->next; for(i=0;i<n;i++) { if(p->data<t) p=p->next; else break; } return i+1; } void addList(linkList &l,int n) { printf("输入元素:"); LNode *tail; tail=new LNode; tail=l; for(int i=0;i<n;i++) { LNode* p; p=new LNode; int t; scanf("%d",&t); int r=locateList(l,t,i); insertList(l,t,r); // p->data=t; // p->next=NULL; // tail->next=p; // tail=p; } } void printList(linkList l) { LNode* p; p=l->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; } printf("\n"); } int numList(linkList l,int t,int m) { int i; LNode* p=l->next; for(i=0;i<m;i++) { if(p->data<t) p=p->next; else if(p->data==t) return i+1; else return 0; } //return 0; } void mergeList(linkList& la,linkList& lb,int n,int m) { LNode* pa=la->next; LNode* pb=lb->next; while(pb!=NULL) { int i=0; int r=locateList(la,(pb->data),n+i); int j=(numList(la,(pb->data),n+i)); printf("r=%d,j=%d,pb=%d\n",r,j,pb->data); if(r!=j) { insertList(la,(pb->data),r); pb=pb->next;i++; } else { pb=pb->next; } } } int main() { linkList la,lb; printf("链表la:"); initList(la); printf("链表lb:"); initList(lb); int n; printf("\nla添加元素个数:"); scanf("%d",&n); addList(la,n); printList(la); int m; printf("\nlb添加元素个数:"); scanf("%d",&m); addList(lb,m); printList(lb); printf("\n合并为递增链表:"); mergeList(la,lb,n,m); printList(la); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:530 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:488 |
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言训练-素数问题 (C语言代码)浏览:1696 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:932 |
数组输出 (C语言代码)错误???浏览:602 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:723 |
本人酷爱递归实现很多问题,这里也是浏览:632 |
WU-printf基础练习2 (C++代码)浏览:2061 |
用筛法求之N内的素数。 (C语言代码)浏览:711 |