E 穩定排序

2021-08-04 04:55:59 字數 1098 閱讀 8386

大家都知道,快速排序是不穩定的排序方法。 

如果對於陣列中出現的任意a[i],a[j](i

input

本題目包含多組輸入,請處理到檔案結束。 

對於每組資料,第一行有乙個正整數n(0

output

對於每組資料,如果演算法是正確並且穩定的,就在一行裡面輸出"right"。如果演算法是正確的但不是穩定的,就在一行裡面輸出"not stable",並且在下面輸出正確穩定排序的列表,格式同輸入。如果該演算法是錯誤的,就在一行裡面輸出"error",並且在下面輸出正確穩定排序的列表,格式同輸入。 

注意,本題目不考慮該排序演算法是錯誤的,但結果是正確的這樣的意外情況。

sample input

3

aa 10

bb 10

cc 20

cc 20

bb 10

aa 10

3aa 10

bb 10

cc 20

cc 20

aa 10

bb 10

3aa 10

bb 10

cc 20

aa 10

bb 10

cc 20

sample output

not stable

cc 20

aa 10

bb 10

right

error

cc 20

aa 10

bb 10

題解:把資料位置記錄下來,如果相同把先出現的排前面

#include#include#include#includeusing namespace std;

struct stup[500+5],q[500+5];

bool cmp(stu x, stu y)

return x.score > y.score;

}int main()

for(int i=0; i> q[i].score;

} sort(p,p+t,cmp);

bool flag1=0,flag2=0; //標記排序是否符合穩定排序的要求

for(int i=0; i

E 穩定排序(sort 結構體)

e 穩定排序 sort 結構體 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status description 大家都知道,快速排序是不穩定的排序方法。如果對於陣列中出現的任意a i aj,其中a ...

穩定排序和非穩定排序

首先,排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果ai aj,ai原來在位置前,排序後ai還是要在aj位置前。其次,說一下穩定性的好處。排序演算法如果是穩定的,那麼從乙個鍵上排序,然後再從另乙個...

排序 穩定排序和不穩定排序

這幾天筆試了好幾次了,連續碰到乙個關於常見排序演算法穩定性判別的問題,往往還是多選,對於我以及和我一樣拿不準的同學可不是乙個能輕易下結論的題目,當然如果你筆試之前已經記住了資料結構書上哪些是穩定的,哪些不是穩定的,做起來應該可以輕鬆搞定。本文是針對老是記不住這個或者想真正明白到底為什麼是穩定或者不穩...