數據結構:循環鏈表

 單鏈表(循環鏈表)學習node

【參考《大話數據結構》】數據結構

涉及到循環鏈表的基本操做有以下:學習

int initList(Node **);  //初始化一個單鏈表;
int createList(Node *,int);  // 建立一個單鏈表;
int printList(Node *);    //但因整個鏈表;
int getListlength(Node *);  // 獲取鏈表的長度;spa

 代碼以下:code

 1 int initList(Node **head){
 2     (*head) = (Node *)malloc(sizeof(Node));
 3     (*head)->data=999;
 4     (*head)->next = (*head);
 5     return 1;
 6 }

 7 int printList(Node *CL){
 8     Node * temp=CL->next;
 9     int i=1;
10     if(temp ==CL)
11     {
12         puts("鏈表爲空.");
13         return 0;
14     }
15     while(temp != CL)
16     {
17         printf("Node[%d]: data=%d\n",i,temp->data);
18         temp = temp->next;
19         i++;
20     }
21     return 1;
22 }

23 int getListlength(Node *CL){
24     Node * temp=CL->next;
25     int i=1;
26     while(temp != CL)
27     {
28         temp = temp->next;
29         i++;
30     }
31     return i-1;
32 }

33 int createList(Node *CL, int length){
34     int i;
35     Node * temp;
36     Node * lastnode = CL;
37     srand(time(0));
38     for(i=0;i<length;i++){
39         temp=(Node*)malloc(sizeof(Node));
40         temp->data=rand()%1000;
41         printf("data[%d] = %d\n",i+1,temp->data);
42         temp->next = lastnode->next;
43         lastnode->next=temp;
44         lastnode = temp;
45     }
46     puts("鏈表建立成功.");
47     return 1;
48 }
相關文章
相關標籤/搜索