單鏈表的整表建立--頭插法,尾插法
阿新 • • 發佈:2019-01-08
建立單鏈表的過程是一個動態生成連結串列的過程。應依次建立各個結點,並逐個插入連結串列
給出頭插法
//隨機產生n個元素的值,建立代表頭結點的單鏈線性表L(頭插法) void CreateListHead(LinkList * L,int n) { LinkList p; int i; srand(time(0)); //隨機產生數 *L = (LinkList)malloc(sizeof(Node)); (*L)->next = NULL; //先建立一個帶頭結點的單鏈表 for (i=0;i<n;i++) { p = (LinkList)malloc(sizeof(Node)); //生成新結點 p->data = rand()%100+1; //隨機生成1001以內的數字 p->next = (*L)->netx; (*L)->next = p; //插入到表頭 } }
尾插法:
//隨機產生n個元素的值,建立代表頭結點的單鏈線性表L(頭插法) void CreateListTail(LinkList * L,int n) { LinkList p,r; int i; srand(time(0)); //隨機產生數 *L = (LinkList)malloc(sizeof(Node)); r = *L; for (i=0;i<n;i++) { p = (LinkList)malloc(sizeof(Node)); //生成新結點 p->data = rand()%100+1; //隨機生成1001以內的數字 r->next = p; //將表尾終端結點指向新結點 r = p; //將當前新結點定義為表尾終端結點 } r->next = NULL; //表示當前連結串列結束 }