資料結構 單鏈表基本功能實現

2021-10-25 09:03:06 字數 2458 閱讀 5047

總結

【實驗目的】

掌握單鏈表的儲存結構形式及其描述

掌握單鏈表的建立、查詢、插入和刪除操作

【實驗內容】

編寫函式,實現隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單鏈表(無序)。

編寫函式,實現遍歷單鏈表。

編寫函式,在非遞減有序單鏈表中插入乙個元素使鍊錶仍然有序。

編寫函式,實現在非遞減有序鍊錶中刪除值為x的結點。

編寫乙個主函式,在主函式中設計乙個簡單的選單,分別呼叫上述函式。

如下(示例):

linklist sort(linklist head);	(排序函式)

linklist creatlnode(linklist head);(建立函式)

linklist insertnode(linklist head,linklist new);(插入節點函式)

linklist insertpred(linklist head ,linklist p);(頭插入函式)

void show(linklist head);(遍歷函式)

linklist deletenode(linklist head, elemtype num);(輸出函式)

void title();(標題函式)

**如下(示例):

(二)單鏈表基本操作的實現

【實驗提示與參考】

#include

#include

#include

#define elemtype int

typedef

struct lnode

lnode,

*linklist;

extern linklist sort

(linklist head)

;(排序函式)

extern linklist creatlnode

(linklist head)

;(建立函式)

extern linklist insertnode

(linklist head,linklist new)

;(插入節點函式)

extern linklist insertpred

(linklist head ,linklist p)

;(頭插入函式)

extern

void

show

(linklist head)

;(遍歷函式)

extern linklist deletenode

(linklist head, elemtype num)

;(輸出函式)

extern

void

title()

;(標題函式)

intmain

(void)}

}title()

;//標題

scanf

("%d"

,&funiction)

;putchar

('\n');

}}void

title()

linklist creatlnode

(linklist head)

//建立鍊錶

head =

insertpred

(head,p);}

}linklist insertpred

(linklist head ,linklist p)

//插入節點:頭插法

else

return head;

}linklist insertnode

(linklist head ,linklist new)

//插入節點:後插法

while

(p->next !=

null

) p=p->next;

} p->next = new;

return head;

}void

show

(linklist head)

//遍歷鍊錶

}linklist deletenode

(linklist head,

int num )

//刪除節點

if(p->next->data == num)

p = p->next;

}/*if(p->next == null)

*/if

(p->data != num)

} linklist sort

(linklist head)

//排序操作

p=p->next;

} h=h->next;

}return head ;

}

實現鍊錶主要就是要對指標的指向有明確概念,當然在不確定的情況下,可以通過反覆調整來驗證是否符合猜想,最後總結出規律。希望本篇對各位學習鍊錶的小夥伴有幫助。

資料結構單鏈表的幾個基本功能

剛剛接觸資料結構的我也是一臉懵逼的看待單鏈表,陣列向線性表的思想和 的突然轉換有點矇逼,尤其是為什麼要建立結構體,單鏈表的實現首先要建立乙個結構體,結構體的作用就是把乙個資料和下個資料的實體地址綁在一起形成單鏈表的乙個元素 資料 下個資料的位址 資料下個元素的位址 閒著沒事敲的 不是很完美,也沒有按...

C 實現單鏈表的基本功能

鍊錶是指使用鏈結的方式儲存的線性表,一般乙個單鏈表結點由資料域和指標域兩個域組成如圖1所示,其中資料域data存放該結點的資料域的值,指標域next存放該結點的後繼結點的位址資訊。2 單鏈表的標頭檔案 pragma once include include struct stunode 代表學生的節...

單鏈表的基本功能 C語言

整個工程所要可能會用到的標頭檔案 common.h ifndef common h define common h include include include include include define datatype int endif textmain.c define crt secu...