鍊錶的插入 刪除

2021-08-08 21:42:04 字數 1249 閱讀 2674

#include 

#include

#include

#define true 1

#define false 0

#define ok 1

typedef

struct l_list

list, *plist;

plist create_list(int len);//建立乙個單鏈表;

bool show_list(plist phead);//遍歷輸出;

bool delete_list(plist phead, int i);//刪除第i個位置的元素

bool insert_list(plist phead, int val, int e);//在第val個位置插入元素,e為要插入的元素;

int main(void)

plist create_list(int len)//建立乙個單鏈表;

plist plast = ptail;//建立乙個臨時的點,類似於結點

plast->pnext = null;//將他的指標域初始化為空

for (i = 0; i < len; ++i)//給結點的數值域賦值

else

}return ptail;//返回頭結點

}bool show_list(plist phead)//顯示輸出

printf("\n");

return

true;

}bool delete_list(plist phead, int i)//刪除第i個位置的元素

//語文不好,注釋不準確請到p30頁自己慢慢理解去類似

plast = phead->pnext;//將要刪除元素的位址的指標域賦值給plast

phead->pnext = plast->pnext;//將該指標域的指標域賦值給上有乙個元素的指標域

free(plast);//釋放臨時儲存元素的值,防止記憶體洩漏

}return

true;

}bool insert_list(plist phead, int val, int e)//在第val個位置插入元素;

p->data = e;//將要插入的值給新節點

p->pnext = phead->pnext;//將新節點的指標域指向插入位置的下乙個節點

phead->pnext = p;//將上乙個節點的指標域指向他

return

true;

}}

鍊錶插入刪除

include include typedef struct node node,linklist void createlist linklist head 建立鍊錶 s node malloc sizeof node s next null s data data p next s p s in...

鍊錶的插入 刪除

雙向鍊錶的插入 第一步 首先找到插入位置,節點 s 將插入到節點 p 之前 第二步 將節點 s 的前驅指向節點 p 的前驅,即 s prior p prior 第三步 將節點 p 的前驅的後繼指向節點 s 即 p prior next s 第四步 將節點 s 的後繼指向節點 p 即 s next p...

鍊錶插入刪除操作

include using namespace std 定義單向鍊錶節點 struct listnode end of listnode 將新節點插入煉表頭 void insertlist listnode head,int insertdata listnode pnode new listnod...