循环列表设立头指针和尾指针

来源:互联网 发布:正装衬衫 知乎 编辑:程序博客网 时间:2024/06/06 12:36

#include<iostream>
using namespace std;
typedef struct Lnode{
 int data;
 struct Lnode *next;
}Lnode,*Linklist;
int Init(Linklist& L){
 L=(Linklist)malloc(sizeof(Lnode));
 if(!L)return -1;
 L->next=L;
  L->data=NULL;
 return 0;
}
int shuru(int m,Linklist&L){
 Linklist A=L;
 for(int i=0;i<m;i++){
  int j;
  cout<<i+1<<":";
  cin>>j;
  Linklist S;
  S=(Linklist)malloc(sizeof(Lnode));
  S->data=j;
  A->next=S;
  S->next=L;
  A=S;
 }
return 0;
}
int shuchu(Linklist &L){
 Linklist A=L->next;
 while(A->next->data){
 cout<<A->data<<"-->";
 A=A->next;
 }
 cout<<A->data;
 return 0;
}
int wei(Linklist L,Linklist &wei){
 Linklist A=L->next;
 while(A->next->data){
  A=A->next;
 }
  wei=A;
 return 0;
}
int hebin(Linklist &wei1,Linklist& wei2,Linklist L1,Linklist L2)
{
wei1->next=L2->next;
wei2->next=L1;
return 0;
}

int main(){
 Linklist L;
 int j;
 Init(L);
 cout<<"输入的个数"<<endl;
 cin>>j;
 shuru(j,L);
 shuchu(L);
 Linklist S;
 Init(S);
 cout<<endl;
 cout<<"输入的个数"<<endl;
 cin>>j;
 shuru(j,S);
 shuchu(S);
 cout<<endl;
Linklist wei1,wei2;
wei(L,wei1);
wei(S,wei2);
hebin(wei1,wei2,L,S);
shuchu(L);
cout<<endl;
 return 0;
}

 

0 0