單鏈表的運算實現

2021-09-09 01:15:33 字數 1516 閱讀 7983

線性表的鏈式儲存結構——鍊錶,包含單鏈表、雙鏈表、迴圈鍊錶等。單鏈表的結點由資料元素和指向下乙個結點的指標構成,是最簡單的一種鍊錶結構。

對單鏈表的操作非常多,如查詢、插入、刪除、逆置、列印等,現對這些操作的實現做乙個小結,**用c語言實現。

#include#includetypedef struct lnode

linklist;

extern linklist *creatlistf();//頭插法

extern linklist *creatliste();//尾插法

extern int locatelist(linklist *head, char e);//查詢結點

extern linklist *insertlist(linklist *&head, int i, char e);//插入結點

extern linklist *deletelist(linklist *&head, int i, char &e);//刪除結點

extern int lengthlist(linklist *head);//計算鍊錶的長度

extern void printlist(linklist *head);//列印鍊錶

extern linklist *reverselist(linklist *&head);//逆置鍊錶

linklist *creatlistf()

return head;

}linklist *creatliste()

q->next=null;

return head; }

int locatelist(linklist *head, char e)

if(null==p)

else

return i;

}linklist *insertlist(linklist *&head, int i, char e)

if(null==p)

q=(linklist *)malloc(sizeof(linklist));

q->data=e;

q->next=p->next;

p->next=q;

return head;

}linklist *deletelist(linklist *&head, int i, char &e)

if(null==p)

else

e=q->data;

p->next=q->next;

free(q);

return head; }}

int lengthlist(linklist *head)

return n;

}void printlist(linklist *head)

printf("\n");

}linklist *reverselist(linklist *&head)

return head;

} return head;//假設是空表或單結點表,直接返回head

}

單鏈表的運算

1 建立單鏈表 假設線性表中結點的資料型別是字元,我們逐個輸入這些字元型的結點,並以換行符 n 為輸入條件結束標誌符。動態地建立單鏈表的常用方法有如下兩種 1 頭插法建表 演算法思路 從乙個空表開始,重複讀入資料,生成新結點,將讀入資料存放在新結點的資料域中,然後將新結點插入到當前鍊錶的表頭上,直到...

單鏈表的實現

include includetypedef struct node 定義鍊錶 snode snode creat 建立鍊錶的函式 q next null return head int length snode head 測鍊錶的結點數 return i void display snode he...

單鏈表的實現

單鏈表夜市線性表的一種表現形式,乙個表節點由乙個資料空間和乙個指標域組成。指標域記錄下乙個結點的位址。鍊錶在插入,刪除功能中效率高。但是讀取某個結點的時候需要順序讀取。效率不如順序儲存形式。下面是一些鍊錶實現的 鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h define...