建立鍊錶
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...