氣泡排序:依次比較相鄰的兩個數,時間複雜度o(n²),相同元素的前後順序不會改變,是一種穩定的排序演算法。
時間複雜度受資料的原始狀態影響:
最好情況-正序:1趟排序,比較關鍵字n-1次,移動0次,o(n)
最壞情況-反序:n-1趟排序,每趟比較n-i次關鍵字(1《如序列:b、c、e、a、f、d
第一趟 (b c) e a f d ==> b (c e) a f d ==> b c (a e) f d ==> b c a (e f) d ==> b c a e (d f)
第一趟結果:b c a e d f
第二趟 (b c) a e d f ==> b (a c) e d f ==> b a (c e) d f ==> b a c (d e) f ==> b a c d (e f)
第二趟結果:b a c d e f
第三趟 (a b) c d e f ==> a b c d e f 不需要再交換,排序結束
7-1 字串的氣泡排序
輸入在第1行中給出n和k(1≤k輸出氣泡排序法掃瞄完第k遍後的中間結果序列,每行包含乙個字串。
6 2
best
cateast
afree
day
best
acat
dayeast
free
#include //萬能標頭檔案
//2019/07/17
using namespace std;
int main()
}for(i=0;icout
}
7 1 字串的氣泡排序 20 分
我們已經知道了將n個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的k 輸入格式 輸入在第1行中給出n和k 1 k輸出格式 輸出氣泡排序法掃瞄完第k遍後的中間結果序列,每行包含乙個字串。輸入樣例 6 2best cateast afree day輸出樣例 best aca...
7 48 字串的氣泡排序
我們已經知道了將 n個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的 k k遍後的中間結果序列。輸入在第1行中給出n和 k 1 此後 n行,每行包含乙個長度不超過10的 僅由小寫英文本母組成的非空字串。輸出氣泡排序法掃瞄完第 k遍後的中間結果序列,每行包含乙個字串。6 ...
5 30 字串的氣泡排序
我們已經知道了將 n 個整數按從小到大排序的氣泡排序法。本題要求將此方法用於字串序列,並對任意給定的 k n 輸出掃瞄完第 k 遍後的中間結果序列。輸入格式 輸入在第1行中給出 n 和 k 1 k n 100 此後 n 行,每行包含乙個長度不超過 10 的 僅由小寫英文本母組成的非空字串。輸出格式 ...