鍊錶(C語言)

2021-07-29 19:51:04 字數 1444 閱讀 3573

初學資料結構,寫的鍊錶程式,目前還有點問題(頭結點的0),望大牛指點

#include

#include

typedef struct node linklist;

typedef struct node * plinklist;

struct node;

void in_linklist(plinklist p,int num,int n);

plinklist new_linklist(void);

void display(plinklist p);

/*在num結點後插入乙個新結點n*/

void in_linklist(plinklist p,int num,int n)

/*建立乙個新鍊錶*/

plinklist new_linklist(void)

/*從頭列印鍊錶結點*/

void display(plinklist p)

printf("%d\n",new

->num);

}/*在鍊錶p末尾插入心結點n*/

void insert_linklist(plinklist p,int n)

/*刪除p鍊錶中n結點*/

void del_linklist(plinklist p,int n)

/*在鍊錶p中搜尋n*/

int find(plinklist p,int n)

// printf("the 'n' is not in p linklist!\n ");

node=node->next;

}}/*求兩個鍊錶的並*/

plinklist union(plinklist p1,plinklist p2)

node=p2;

while(node!=

null)

return p;

}/*求兩個鍊錶的交*/

plinklist intersect(plinklist p1,plinklist p2)

return p;

}/*求兩個鍊錶的餘i(p1相對於p2的餘)*/

plinklist complement(plinklist p1,plinklist p2)

return p;

}/*生成乙個鍊錶並列印出來*/

int main(void)

for(i=

8;i<

18;i++)

// del_linklist(head,5);

// display(union(head1,head2));

// display(intersect(head1,head2));

display(complement(head1,head2));

return

0;}

c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶

下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...

c語言 鍊錶 C語言之鍊錶入門

鍊錶三要素 1 頭指標 head 是用來說明鍊錶開始了,頭指標就代表鍊錶本身 所以以後要訪問鍊錶,就要訪問頭指標 2 結點 node 鍊錶中每乙個結構體變數 3 尾指標 用來說明鍊錶的結束 它是乙個空指標,null include includetypedef struct stud 定義了乙個結構...