氣泡排序 PTA 7 5 英文單詞排序

2021-10-06 12:48:47 字數 1248 閱讀 2059

本題要求編寫程式,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。如果長度相同,按照輸入的順序不變。

輸入格式:

輸入為若干英文單詞,每行乙個,以#作為輸入結束標誌。其中英文單詞總數不超過20個,英文單詞為長度小於10的僅由小寫英文本母組成的字串。

輸出格式:

輸出為排序後的結果,每個單詞後面都額外輸出乙個空格。

輸入樣例:

blue

redyellow

green

purple

#

輸出樣例:

red blue green yellow purple
思路:第一想法就是用string型別的vector,然後直接sort就完事。。。

#include

using

namespace std;

bool

cmp(string s1,string s2)

intmain()

if(a.

empty()

)cout<

sort

(a.begin()

,a.end()

,cmp)

;for

(const

auto

& i : a)

return0;

}

but。。。研究了半天也沒過去,查了一會才找到原因:

sort排序不穩定,對於相等的情況不能保證保持原順序。

所以氣泡排序,繼而ac

ac**:

#include

using

namespace std;

string s[21]

;int

main()

int c=h;

while

(c--)}

for(

int i =

0; i < h;

++i)

return0;

}

PTA 7 5 冒泡法排序

將n個整數按從小到大排序的氣泡排序法是這樣工作的 從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃瞄,則最後乙個元素必定是最大的元素。然後用同樣的方法對前n 1個元素進行第二遍掃瞄。依此類推,最後只需處理兩個元素,就完成了對n個數的排序。本題要求對任意給定的k 輸...

PTA 英文單詞排序

本題要求編寫程式,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。如果長度相同,按照輸入的順序不變。輸入格式 輸入為若干英文單詞,每行乙個,以 作為輸入結束標誌。其中英文單詞總數不超過20個,英文單詞為長度小於10的僅由小寫英文本母組成的字串。輸出格式 輸出為排序後的結果,每個單詞後面都額外輸...

7 1 英文單詞排序(25 分)

輸入為若干英文單詞,每行乙個,以 作為輸入結束標誌。其中英文單詞總數不超過20個,英文單詞為長度小於10的僅由小寫英文本母組成的字串。輸出為排序後的結果,每個單詞後面都額外輸出乙個空格。blue redyellow green purple red blue green yellow purple ...