7-30 字符串的冒泡排序

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

我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。

输入格式:

输入在第1行中给出N和K(1K<N100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。

输出格式:

输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。

输入样例:

6 2
best
cat
east
a
free
day

输出样例:

best
a
cat
day
east
free
思路:排序控制了下力度外加整形变字符串?
#include<stdio.h>
#include<string>
#include<sstream>
#include<iostream>
using namespace std;
int main()
{
    string a[105];
    int k, n; cin >> n >> k;

    for (int i = 0; i < n; i++)
        cin >> a[i];

    while (k--){
        for (int i = 0; i < n-1;i++)
        if (a[i]>a[i + 1]){
            string temp = a[i];
            a[i] = a[i+1];
            a[i + 1] = temp;
        }
    }
    
    for (int i = 0; i < n; i++)
        cout << a[i] << endl;

    return 0;
}

 

 
posted @ 2018-01-23 14:33  我只有一件白T恤  阅读(1284)  评论(0编辑  收藏  举报