6 2 線性表元素的區間刪除

2021-09-24 23:50:08 字數 1423 閱讀 5163

給定乙個順序儲存的線性表,請設計乙個函式刪除所有值大於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()

/* 你的**將被嵌在這裡 */

時間複雜度為o(n)且測試點全部通過的**為:

list delete

( list l, elementtype mind, elementtype maxd )

l->last=l->last-j;

return l;

}

事件負責度為o(n*n)且測試點 1和4沒有通過的為

list delete

( list l, elementtype mind, elementtype maxd )

for(a=i;a<=l->last;a++

)

l->data[a-k]

=l->data[a];}

else

i++;

n=n+k;

}

l->last=l->last-n;

return l;

}

6 2 線性表元素的區間刪除

給定乙個順序儲存的線性表,請設計乙個函式刪除所有值大於min而且小於max的元素。刪除後表中剩餘元素保持順序儲存,並且相對位置不能改變。函式介面定義 list delete list l,elementtype mind,elementtype maxd 其中list結構定義如下 typedef i...

刪除區間內的元素(線性表)

time limit 1 sec memory limit 2 mb submit 95 solved 29 submit status web board 若乙個線性表l採用順序儲存結構,其中元素都為整數。設計乙個演算法,刪除元素值在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複...

Problem A 刪除區間內的元素(線性表)

time limit 1 sec memory limit 2 mb submit 75 solved 24 submit status web board 若乙個線性表l採用順序儲存結構,其中元素都為整數。設計乙個演算法,刪除元素值在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複...