两个链表初始化之后合并
来源:互联网 发布:肯德基麦当劳创业知乎 编辑:程序博客网 时间:2024/05/15 18:48
#include <iostream>
using namespace std;
typedef struct node{
int data;
struct node *next;
}Lnode,*Linklist;
Linklist A,B,C;
Linklist init_linklist()
{
Lnode *s,*r,*L;
L=new Lnode;
L->next=NULL;
r=L;
int x;
cout<<"请输入数据,否则输入-1结束数据的输入!\n";
cin>>x;
while(x!=-1){
s=new Lnode;
s->data=x;
r->next=s;
r=s;
cout<<"请输入数据,否则输入-1结束数据输入!\n";
cin>>x;
}
r->next=NULL;
return L;
}
Linklist combine(Lnode *A,Lnode *B){
Lnode *pa,*pb,*s;
C=A;
s=C;
pa=A->next;
pb=B->next;
while(pa&&pb){
if(pa->data<=pb->data){
s->next=pa;
s=pa;
pa=pa->next;
}
else{
s->next=pb;
s=pb;
pb=pb->next;
}
}
if(pa)
s->next=pa;
else
s->next=pb;
return C;
}
void output(Linklist p){
while(p->next){
cout<<p->next->data<<",";
p=p->next;
}
}
void main(){
A=init_linklist();
cout<<"链表A如下所示:"<<endl;
output(A);
cout<<endl;
B=init_linklist();
cout<<"链表A如下所示:"<<endl;
output(B);
cout<<endl;
C=combine(A,B);
cout<<"A和B合并后如下所示:"<<endl;
output(C);
cout<<endl;
}
- 两个链表初始化之后合并
- 合并两个链表,两个表的元素交叉进行,合并之后合并后的链表变成空表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个升序链表
- 合并两个有序链表
- 数据结构 合并两个链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个排序链表
- 合并两个排序链表
- 合并两个排序链表
- 合并两个有序链表
- Hashtable VS DataTable
- 冒泡排序
- 【Java】【awt】ScreenManager
- 选择排序
- 最新的开发框架 struts2.2 + spring3 + hibernate3.6 包地址
- 两个链表初始化之后合并
- VB.NET串口通信例子--我的回忆录
- 顺序结构、动态链表结构下的一元多项式的加法的实现。
- DirectShow 视频捕获(1)
- yaffs2源代码情景分析
- Java 文件打包,双击运行
- python +numpy,theano,cifar
- http://wenku.baidu.com/view/981f99d376eeaeaad1f330e7.html
- Ext+dwr的使用