#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 日
© 允许规范转载