#include<iostream>
#include<cstring>
using namespace std;
void point_swap(char **p1,char **p2);
void bubble_sort(char* point[],long long int T);
int main()
{
    long long int N = 0,max_contain = 0;
    cin>>N>>max_contain;
    cin.get();
    char arr[N][max_contain];
    char* p[N];
    for(long long int i = 0;i<N;i++)
    {
        gets(arr[i]);
        p[i] = arr[i];
    }
    bubble_sort(p,N);
    for(long long int i = 0;i<N;i++)
    {
        puts(p[i]);
    }
}
void point_swap(char **p1,char **p2)
{
    char *temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}
void bubble_sort(char* point[],long long int T)
{
    long long int small_ = 0;
    long long int max_ = T - 1;
    long long int sum_num = 0;
    while (small_ < max_) {
        for (long long int j = small_; j < max_; j++) {
            if (strlen(point[j]) > strlen(point[j+1])) {
                point_swap(&point[j],&point[j+1]);
            }
            sum_num++;
        }
        max_--;
        for (long long int k = max_; k > small_; k--) {
            if (strlen(point[k]) < strlen(point[k-1])) {
                point_swap(&point[k],&point[k-1]);
            }
            sum_num++;
        }
        small_++;
    }
}
最后修改:2022 年 12 月 01 日
如果觉得我的文章对你有用,只需评论或转发支持,谢绝投喂!