3137鍊錶的增刪,插入排序,輸入輸出

2021-07-03 03:58:03 字數 1052 閱讀 9818

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

新年伊始,飛神得到了乙個叫做藥的鍊錶. . .(弱已詞窮. . .

初始時鍊錶只有頭指標,對鍊錶存在三種操作。

增加乙個元素,向鍊錶中增加乙個元素,增加後要保證鍊錶從前到後為單調不降序列。

刪除乙個元素,從鍊錶中刪除乙個元素,刪除後要保證剩餘節點仍為單調不降序列。

按序將鍊錶中的元素全部輸出。

多組輸入。

對於每組資料,第一行乙個整數n(1 <= n <= 1000)

,代表有n

次操作。

接下來的n

行,每行描述一次操作,形式如下。

a val

。表明此時向鍊錶中新增乙個元素val(val不會超出int)

。d rank

。表明此時要在鍊錶中刪除第rank個

元素,若不存在,則忽略此次操作。

q。按序將鍊錶中的元素全部輸出,若煉表為空,則忽略此次操作。

對於每次第三種操作,按序將鍊錶中的元素全部輸出。

6

a 1a 2

a 5q

d 3q

1 2 5

1 2

#include#includestruct nobe

*p,*head,*q,*t;

int main()

else

else

q=q->next;

}if(q->next==null)

q->next=p;

}num++;

}else if(a[0]=='d')

else

else

else

break;

numm++;

if(numm==b)

else}}

}}

else if(a[0]=='q')

else

printf("\n");}}

}}

}

鍊錶插入排序

void insertsort list sortascount,node node else p prior next q q next p int sortwithinsetmethod list sortasdata wchar pp p data if isnum pp int i 0 i ...

鍊錶插入排序

題目 用插入排序對鍊錶排序 樣例 given1 3 2 0 null,return0 1 2 3 null 思路 新建乙個以dummy開頭的鍊錶,並將dummy賦初值為0。令node dummy,通過移動新煉表中的node與要排序的鍊錶中的head,並比較node與head的值,來實現排序。如果he...

鍊錶插入排序

題目 用插入排序對鍊錶排序 思路 建立乙個新的鍊錶,將目標鍊錶依次插入先煉表中,小就插到前面,大就插到後面,如此一來,新的鍊錶就是目標鍊錶按大小次序排列的了。先看第一步,將目標鍊錶的第乙個元素插入所建立的空鍊錶,具體是先建立乙個地值存下頭節點的下乙個節點的位置,將頭節點的next變為空,連到一開始建...