我們已經知道了將N個整數按從小到大排序的冒泡排序法。本題要求將此方法用於字符串序列,並對任意給定的K(小於N),輸出掃描完第K遍後的中間結果序列。
輸入格式:
輸入在第1行中給出N和K(1<=K<=N<=100),此後N行,每行包含一個長度不超過10的、僅由小寫英文字母組成的非空字符串。
輸出格式:
輸出冒泡排序法掃描完第K遍後的中間結果序列,每行包含一個字符串。
輸入樣例:
6 2
best
cat
east
a
free
day
輸出樣例:
best
a
cat
day
east
free
#include<iostream>
#include<string>
using namespace std;
int main(){
int n,k,i,j;
cin>>n>>k;
string str[100],temp;
for(i=0;i<n;i++)
cin>>str[i];
for(i=0;i<k;i++){
for(j=0;j<n-1-i;j++){
if(str[j]>str[j+1]){
temp = str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
for(i=0;i<n;i++)
cout<<str[i]<<endl;
return 0;
}