通过这个练习,理解了链表的创建和顺序表的创建
//顺序表转换成链表,2006年3月16日,潘安+宋玉
#include<iostream.h>
#define LIST_INIT_SIZE 100
typedef struct{
int *elem;
int length;
int listsize;
}Sqlist;
typedef struct LNode{
int data;
LNode *next;
}LNode,*linklist;
int initlist(Sqlist &L)
{
L.elem=new int[LIST_INIT_SIZE];
if(!L.elem) return 0;
L.length=0;
L.listsize=LIST_INIT_SIZE;
return 1;
}
int initlistn (Sqlist &L,int n){
initlist(L);
cout<<"Input the Sqlist"<<endl;
for(int i=0;i<n;i++){
cin>>L.elem[i];
L.length++;
}
return 1;
}
void sqtl(Sqlist L,linklist &S){
LNode *p,*q;
S=new LNode;
S->next=NULL;
q=S;
for(int i=0;i<L.length;i++){
p=new LNode;
p->data=L.elem[i];
p->next=NULL;
q->next=p;
q=p;
}
}
void print(linklist S){
linklist p=S->next;
while(p){
cout<<p->data<<' ';
p=p->next;
}
cout<<endl;
}
void main(){
int n;
Sqlist L;
linklist p;
cout<<"Input the number:";
cin>>n;
initlistn(L,n);
sqtl(L,p);
print(p);
}