C語言資料結構 單鏈表的增刪改查

2021-09-13 15:05:21 字數 1257 閱讀 1631

注意: linklist l 於 linklist &l 的區別,前者只能改變指標指向的內容,後者同時還可以修改指標本身,即指標內部

#include#include#includetypedef int elemtype;

typedef int status;

//定義結構體

typedef struct lnode

lnode, *linklist;

//建立單鏈表

linklist createlist(int n)

return l;

}

//查詢第i個元素並賦給e

status getelem_l(linklist &l, int i, elemtype &e)

if (!p || j > i)

return 0;

e = p->data;

return 1;

}

//在第 i 個位置插入 e 

status insertlist(linklist &l, int i, elemtype e)

if (!p || j > i - 1)

return 0;

linklist s = (linklist)malloc(sizeof(lnode));

s->data = e;

s->next = p->next;

p->next = s;

return 1;

}

//刪除第 i 個位置的元素,並將值儲存於 e

status deletelist(linklist &l, int i, elemtype &e)

if (!(p->next) || j > i - 1)

return 0;

linklist q = p->next;

p->next = q->next;

e = q->data;

free(q); //注意一定要釋放記憶體空間

return 1;

}

//輸出單鏈表

void output(linklist l)

printf("\n");

}

//主函式

int main()

C語言單鏈表 增 刪 改 查

鍊錶是一種常見的基礎資料結構,結構體指標在這裡得到了充分的利用。鍊錶可以動態的進行儲存分配,也就是說,鍊錶是乙個功能極為強大的陣列,他可以在節點中定義多種資料型別,還可以根據需要隨意增添,刪除,插入節點。鍊錶都有乙個頭指標,一般以head來表示,存放的是乙個位址。鍊錶中的節點分為兩類,頭結點和一般節...

Java實現單鏈表資料結構的增刪改查

package 鍊錶 1 單鏈表的插入 刪除 查詢操作 2 鍊錶中儲存的是int型別的資料 public class singlylinkedlist return p 通過index查詢 public node findbyindex int index return p 無頭部節點 哨兵 表頭部...

單鏈表增刪改查

include include include include using namespace std struct node node int x,node next null 帶參初始化 建立煉表頭結點,新增引用因為要改變指標的位址指向 void createlink node head 新增鍊...