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