C 資料結構之單鏈表

2021-08-21 10:51:04 字數 1178 閱讀 7960

建立鍊錶

1.頭插法

新結點的指標域儲存頭結點的指標域的值,頭結點的指標值修改為新結點的位址,即s->next=head->next,head->next=s(順序不可更改)

2.尾插法

新結點作為鍊錶的尾結點,因此新結點的指標值為null,即s->next=null,上一結點的指標指向新結點,即p->next=s,然後p指向新結點,p=s,一直這麼輪下去

插入1.初始化指標p等於頭指標,i=0

2.迴圈賦值p=p->next,直到p等於null或是找到第i=l-1個結點,此時p指向第l-1個結點

3.如果p是空指標,則位置出錯,提示並返回錯誤值,否則new乙個新結點,把新結點的指標域賦值為p->next(原來l位置上結點的位址),再修改p->next為新結點的位址(不能反過來)

4.表長+1

刪除1.

初始化指標p等於頭指標,i=0

2.迴圈賦值p=p->next,直到p等於null或是找到第i=l-1個結點,此時p指向第l-1個結點

3.如果p是空指標,則位置出錯,提示並返回錯誤值,否則把當前結點的指標值修改為下個結點的指標值(即指向下下個結點的位址),然後delete第l個結點

銷毀鍊錶

#include using namespace std;

struct node;

class linklist;

linklist::linklist(int n)

cout<<"鍊錶已清空"<>s->date;

s->next=p->next;

p->next=s;

}}void linklist::create_r(int n)

}bool linklist::isempty()

int linklist::insert(int l,int elem)

if (!p)

if (!p)

}int linklist::getelem(int l)

if (!p)

int linklist::locate(int elem)

if (p->date==elem)

return i;

else

void linklist::show()

}int main()

return 0;

}

資料結構之單鏈表 c

templatestruct node node t x,node next null templateclass linklist 1 預設建構函式 templatelinklist linklist 建構函式1 2 有參建構函式 templatelinklist linklist t a,int...

C 資料結構之單鏈表

線性表有兩種結構,順序儲存結構和順序儲存結構,順序儲存結構的線性表理解起來很簡單。對於順序儲存,我們首先能想到的陣列,而順序儲存的線性表就是將結構體 陣列的這一種組合來實現。例如 define maxsize 20 typedef int elemtype typedef struct sqlist...

資料結構之單鏈表

date 08 07 06 descript 單鏈表的實現與應用 public class linlist public node gethead 定位函式 public void index int i throws exception if i 1 current head.next int j...