C 線性表的鏈式儲存實現及插入 刪除等操作示例

2022-04-07 17:21:21 字數 1321 閱讀 1074

//建立長度為length的鍊錶

ptrtolnode creat(int length)

p1->pnext = null;//最後有乙個節點的pnext為null

return phead;

}

//求表長

int length(ptrtolnode ptr)

return len;

}

//求第n個結點的data

int findkth(ptrtolnode ptr, int n)

int i = 1;

for (i = 1; i < n; i++)

int result = ptr->data;

return result;

}

//求煉表中第乙個data值為num的節點的序號

int find(ptrtolnode ptr, int num)

if (n > length(ptr))

return n;

}

//在第n個節點處插入data值為num的節點

ptrtolnode insert(ptrtolnode ptr, int n, int num)

if (n == 1)//n=1即插入新的表頭

int i = 1;

for (i = 1; i < n-1; i++)//找出第n-1個節點的首位址

ptrtolnode ptem = ptr->pnext;

ptrtolnode pnew = (ptrtolnode)malloc(sizeof(struct lnode));

pnew->data = num;

ptr->pnext = pnew;

pnew->pnext = ptem;

return head;

}

//刪除第n個節點

ptrtolnode delete(ptrtolnode ptr, int n)

if (n == 1)

int i = 1;

for (i = 1; i < n - 1; i++)//找出第n-1個節點的首位址

ptrtolnode ptem = (ptr->pnext)->pnext;

free(ptr->pnext);

ptr->pnext = ptem;

return head;

}

注:本程式中節點序號都是從1計起

線性表的鏈式儲存實現

include include 下面的單鏈表是帶頭節點的 typedef int elementtype struct listnode typedef struct listnode list 函式宣告 int insert list tmp,elementtype x,int pos void ...

線性表的鏈式儲存

此方法雖然簡單,但是真寫起來太複雜了。線性表的鏈式儲存 include include struct lnode 線性表的初始化 void init l lnode l 線性表的後插建立 void create l1 lnode l n next null 線性表的後插建立 void create ...

線性表的鏈式儲存

引言 一 單鏈表 相較於順序儲存用連續的儲存單元儲存,單鏈表採用鏈式儲存結構,用一組位址任意的儲存單元儲存資料元素。特點 1 儲存單元可以是不連續的,即邏輯結構與物理結構可以不相同 2 元素用結點儲存,每個結點由元素值和下乙個元素的位址構成 3 單鏈表是由每個結點的指標域按照邏輯次序相互連線而成的。...