1. 程式人生 > 其它 >7-30 字串的氣泡排序 (20分)

7-30 字串的氣泡排序 (20分)

技術標籤:PTAc++

7-30 字串的氣泡排序 (20分)

我們已經知道了將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
思路:
此題依舊使用string較為簡單

#include
<stdio.h>
#include <string.h> #include <iostream> #include <string> using namespace std; int main(){ int n,k,i,j; cin >> n; cin >> k; string str[n]; string red; for(i=0;i<n;i++){ cin >> str[i];//讀入n個單詞 } for(j=0;j<
k;j++){//進行k輪排序 for(i=0;i<n;i++){//進行一輪氣泡排序 if(str[i]>str[i+1]&&i<n-1){ red = str[i]; str[i] = str[i+1]; str[i+1] = red; } } } for(i=0;i<n;i++){ cout << str[i] << endl; }
return 0; }