單鏈表-用尾插法建立單鏈表
阿新 • • 發佈:2019-01-23
#include <iostream> #include <stdlib.h> using namespace std; typedef int ElemType; //自定義資料型別 typedef struct LNode{ //定義單鏈表結點型別 ElemType data; //存放元素值 struct LNode *next; //指向後繼節點 }LinkList; void CreateListR(LinkList * &L,ElemType a[],int n){ //建立單鏈表 LinkList *s , *r; int i; L=(LinkList *)malloc(sizeof(LinkList)); //建立頭節點 r=L; //r始終指向尾節點,開始時指向頭節點 for(i=0;i<n;i++){ s=(LinkList *)malloc(sizeof(LinkList)); cin>>a[i]; s->data = a[i]; //建立資料型別 *s r->next = s; //將*s插入*r之後 r=s; } r->next = NULL; //尾節點next域置為NULL } void DispList(LinkList *L){ //輸出單鏈表 LinkList *p = L->next; //p指向開始節點 while(p!=NULL){ //p!=NULL,輸出*p節點的data域 cout<<p->data<<" "; p=p->next; //p移向下一個節點 } cout<<endl; } int main(){ int n,a[10],i; LinkList *L; cin>>n;; CreateListR(L,a,n); DispList(L); return 0; }