鍊錶的增刪查改

2021-10-17 23:15:49 字數 1828 閱讀 3476

#include

#include

typedef

struct student stu,

* pstu;

void

list_head_insert

(pstu* pphead, stu*

* pptail,

int i)

//鍊錶為空,頭尾指標都指向新節點

else

//新節點*pnext指向原本頭節點,新節點作為頭節點

}void

list_tail_insert

(pstu* pphead, stu*

* pptail,

int i)

//鍊錶為空,頭尾指標都指向新節點

else

//原本尾節點的*pnext指向新節點,新節點作為尾節點

}void

list_print

(pstu phead)

}void

list_sort_insert

(pstu* pphead, stu*

* pptail,

int i)

//鍊錶為空,頭尾指標指向新節點

else

if(i <

(*pphead)

->num)

//判斷是否插入頭部,頭插法

else

//插入值大於pcur->num,ppre指向pcur,pcur指向下乙個節點

else

//ppre節點的pnext指向新節點,新節點的pnext指向pcur}if

(pcur==

null

)//插入到尾部,尾插法}}

void

list_delete

(pstu* pphead, stu*

* pptail,

int i)

//鍊錶刪除

//鍊錶為空

elseif(

(*pphead)

->num == i)

//刪除的是頭節點

//是頭節點且只有乙個節點,尾指標也為null

}else

ppre = pcur;

pcur = pcur->pnext;}if

(pcur ==

null)if

(pcur ==

*pptail)

//刪除的是尾節點

}free

(pcur)

; pcur =

null;}

void

listmodify

(pstu phead,

int num,

float score)

phead = phead->pnext;}if

(null

== phead)

}int

main()

list_print

(phead)

;while

(printf

("\nthe delete number is:"),

fflush

(stdout),

scanf_s

("%d"

,&m)

!=eof

)while

(printf

("\nthe modify number is:"),

fflush

(stdout),

scanf_s

("%d%f"

,&m,

&score)

!=eof

)return0;

}

鍊錶 增 刪 查 改 排序

define crt secure no warnings include include include typedef struct num ss ss head null int count 0 void add node void remove node int id void seek n...

鍊錶基礎(增刪查改)

靜態鍊錶的應用範圍只限於本函式,有侷限性,無法跨函式呼叫,所以在子函式中要malloc分配記憶體。鍊錶的資料型別是結構體。define crt secure no warnings include stdio.h include stdlib.h include string.h typedef s...

陣列和鍊錶的增刪查改

查詢 陣列中的資料都是連續的在查詢陣列中的元素時候,只要進行遍歷,或者跟據下標尋找。增刪在陣列中如果對某乙個資料進行插入,那麼後面的每乙個資料都要進行右移。如果進行刪除那麼它後面的每乙個資料都要進行左移。查詢 在進行查詢時,如果要遍歷所有的元素那麼鍊錶的速度很快,但是如果需要某乙個資料,那麼每次都要...