/*1、将字符串存入数组 2、字符串数组的快速排序算法*/
#include <iostream>
#include <string.h>
using namespace std;
void quick(char s[][200], int low, int high) {//字符串快排
if (low >= high) {
return;
}
int first = low;
int last = high;
char key[200];
strcpy(key, s[first]);
while (first < last) {
while (first < last && strcmp(s[last], key) >= 0) --last;
strcpy(s[first], s[last]);
while (first < last && strcmp(s[first], key) <= 0) ++first;
strcpy(s[last], s[first]);
}
strcpy(s[first], key);
quick(s, low, first - 1);
quick(s, first + 1, high);
}
int main() {
int t, n, len = 0;//组数与字符串数
char s[100][200] = { {""} }, result[10000][200] = { {""} };//字符串数组
cin >> t;
for (int i = 0; i < t; i++) {
cin >> n;
for (int j = 0; j < n; j++) {
cin >> s[j];
}
quick(s, 0, n - 1);
for (int j = 0; j < n; j++) {
strcpy(result[len++], s[j]);
strcpy(result[len++], "\n");
}
strcpy(result[len++], "\n");
}
for (int i = 0; i < len; i++) {
cout << result[i];
}
return 0;
}
poj 单词排序
最新推荐文章于 2021-12-23 21:06:32 发布