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