鍊錶的刪除是在建好鍊錶的功能基礎上實現的
當然,刪除也是分為幾種情況的
1. 刪除的鍊錶為空,刪除失敗
2. 要刪除的元素為首元素,直接把第二個結構體設為首元素即可
3. 要刪除的元素為尾元素,直接把尾元素的前乙個元素的snext指標設定為空
4. 要刪除的元素位於鍊錶中間
5. 沒有找打要刪除的元素
#include
#include
#include
using
namespace
std;
struct stu
;int main()
printf("您輸入的鍊錶為:\n");
list(head);
printf("請輸入要刪除的學號:\n");
scanf("%d",&inum);
head = del(head,inum);
printf("您刪除後的鍊錶為:\n");
list(head);
return0;}
struct stu *insert(struct stu *head,struct stu *newstu)
else
if(p != null)
else
}else
}return head;
}void list(struct stu *head)
else
}}struct stu *del(struct stu *head,int inum)
else
if(p == head)
else
if(p->snext == null)//第三種情況
else
if(p == null)//第五種情況
else
//第四種情況
}return head;
}
鍊錶 刪除鍊錶的節點
劍指offer的乙個題,題目是要求在最少的時間內刪除鍊錶的節點。問題分析 對於鍊錶的刪除,按照劍指offer的一貫思路就是展開討論 1 空鍊錶咋辦 待刪除的節點是空節點咋辦 2 要刪除的節點在鍊錶中的位置有三種情況 1 鍊錶只有乙個節點,待刪除節點是表頭又是尾節點 2 鍊錶有多個節點,待刪除的節點是...
刪除鍊錶的節點 鍊錶操作
給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...
鍊錶定義 鍊錶的插入 鍊錶的刪除 鍊錶的查詢
鍊錶的定義 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指標 變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為 結點 每個結點都應包括兩個部分 一為使用者需要用的實際資料,二為下乙個結點的位址。因此,he...