建表
1.顺序表建表
int createList(int a[],int &length){ cout<<"输入表长"<<endl; cin>>length; if(length>MaxSize){ return 0; } cout<<"输入数据"<<endl; for(int i=0;i<length;i++){ cin>>a[i]; } return 1; }
2.单链表建表
//尾插法建表,输入顺序一致 void createLinkListR(LNode *&head){ head=(LNode*)malloc(sizeof(LNode)); head->next=NULL; LNode *p=NULL,*r=head; int n; cout<<"输入数据个数"<<endl; cin>>n; cout<<"输入数据"<<endl; for(int i=0;i<n;i++){ p=(LNode*)malloc(sizeof(LNode)); p->next=NULL; cin>>p->data; p->next=r->next; r->next=p; r=p; } }
//头插法建表,与输入逆序 void createLinkListH(LNode *&head){ head=(LNode*)malloc(sizeof(LNode)); head->next=NULL; LNode *p; int n; cout<<"输入数据个数"<<endl; cin>>n; cout<<"输入数据"<<endl; for(int i=0;i<n;i++){ p=(LNode*)malloc(sizeof(LNode)); p->next=NULL; cin>>p->data; p->next=head->next; head->next=p; } }