#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...