本題要求編寫程式,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。如果長度相同,按照輸入的順序不變。
輸入格式:
輸入為若干英文單詞,每行乙個,以#作為輸入結束標誌。其中英文單詞總數不超過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 ...