線性表元素的區間刪除 (20分)
給定乙個順序儲存的線性表,請設計乙個函式刪除所有值大於min而且小於max的元素。刪除後表中剩餘元素保持順序儲存,並且相對位置不能改變。
list delete( list l, elementtype mind, elementtype maxd );
其中list
結構定義如下:
typedef int position;
typedef struct lnode *list;
struct lnode ;
l
是使用者傳入的乙個線性表,其中elementtype
元素可以通過》、==、《進行比較;mind
和maxd
分別為待刪除元素的值域的下、上界。函式delete
應將data
中所有值大於mind
而且小於maxd
的元素刪除,同時保證表中剩餘元素保持順序儲存,並且相對位置不變,最後返回刪除後的表。
#include #define maxsize 20
typedef int elementtype;
typedef int position;
typedef struct lnode *list;
struct lnode ;
list readinput(); /* 裁判實現,細節不表。元素從下標0開始儲存 */
void printlist( list l ); /* 裁判實現,細節不表 */
list delete( list l, elementtype mind, elementtype maxd );
int main()
/* 你的**將被嵌在這裡 */
10
4 -8 2 12 1 5 9 3 3 10
0 4
4 -8 12 5 9 10
list delete( list l, elementtype mind, elementtype maxd )
l->last=l->last+p-i;
return l;
}
鍊錶 刪除鍊錶的節點
劍指offer的乙個題,題目是要求在最少的時間內刪除鍊錶的節點。問題分析 對於鍊錶的刪除,按照劍指offer的一貫思路就是展開討論 1 空鍊錶咋辦 待刪除的節點是空節點咋辦 2 要刪除的節點在鍊錶中的位置有三種情況 1 鍊錶只有乙個節點,待刪除節點是表頭又是尾節點 2 鍊錶有多個節點,待刪除的節點是...
鍊錶定義 鍊錶的插入 鍊錶的刪除 鍊錶的查詢
鍊錶的定義 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指標 變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為 結點 每個結點都應包括兩個部分 一為使用者需要用的實際資料,二為下乙個結點的位址。因此,he...
刪除鍊錶的節點 鍊錶操作
給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...