有序链表的归并
来源:互联网 发布:宣州太守知不知 编辑:程序博客网 时间:2024/06/12 21:06
#include<iostream>using namespace std;typedef struct LNode//定义单链表{int data;struct LNode *next;}LNode,*LinkList;void InitList_L(LinkList &L)//创建单链表{L=new LNode;L->next=NULL;}void input(LinkList &L,int n)//依次往单链表L里输入数据{int i;LinkList p,r;r=L;cout<<"请输入该表的元素(按非递减的顺序):";for(i=0;i<n;i++){p=new LNode;cin>>p->data;p->next=NULL;r->next=p;r=p;}}void output(LinkList L)//依次输出单链表里的每个元素{int i=0;LNode *p;p=L->next;while(p){if(i)cout<<",";cout<<p->data;p=p->next;i=1;}}void MergeList_L(LinkList &LA,LinkList &LB,LinkList &LC)//算法2.16 链式有序表的合并{//已知单链表LA和LB的元素按值非递减排列//归并LA和LB得到新的单链表LC,LC的元素也按值非递减排列 //以下填空缺部分LNode *A=LA->next,*B=LB->next,*p=LC=LA;//定义LA,LB链表上的标记,并让LC与LA共用一个头节点 while(A&&B)//当LA和LA均没比较完时 {if(A->data<B->data)//比较 {p->next=A;p=A;A=A->next;}else{p->next=B;p=B;B=B->next;}}if(A)//连接剩下的一个非空链表 p->next=A;elsep->next=B;delete LB;}//MergeList_L()int main(){LinkList La,Lb,Lc;int num_a,num_b;cout<<"请输入非递减单链表a的个数n:";cin>>num_a;InitList_L(La);//La表的创建input(La,num_a);//依次往单链表La里输入数据cout<<"请输入非递减单链表b的个数n:";cin>>num_b;InitList_L(Lb);//Lb表的创建input(Lb,num_b);//依次往单链表La里输入数据InitList_L(Lc);MergeList_L(La,Lb,Lc);//将单链表La和Lb进行合并cout<<"非递减单链表a,b合并后的非递减单链表c为:\n";//输出合并后的单链表Lcoutput(Lc);cout<<endl;return 0;}
0 0
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 有序链表的归并
- 两个有序链表的归并!!!
- 数据结构之有序链表的归并
- 链表E 有序链表的归并
- 有序顺序表的归并
- 归并两个有序链表
- c++有序链表归并
- 有序数组的归并 链表的合并lianbiao
- 2119 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- [学习笔记]Excelsql语句
- 如何封装RESTful Web Service
- 你是这样获取人工智能AI前沿信息的吗?
- [学习笔记]复选框变单选功能
- [学习笔记]Java报表合并行
- 有序链表的归并
- Problem E: STL——括号匹配
- [学习笔记]JS下拉框赋值
- [学习笔记]Sql提前30天提醒信息
- HTML5之FileReader的使用
- [学习笔记]JS四舍五入方法
- [学习笔记]Java生成二维码
- [学习笔记]JS全选反选
- 分布式数据库 HBase