- 输入一行数字,把这些数字中的5都看成空格,得到一行用空格分隔的若干非负整数, 对这些分隔的整数,以从小到大的顺序输出
#include<iostream>
using namespace std;
void QuickSort(int R[], int low, int high) {
int pivot, i, j;
i = low; j = high;
if (low < high) {
pivot = R[low];
while (i!= j) {
while (j > i&& R[j] > pivot)
j--;
if (j > i) {
R[i] = R[j];
i++;
}
while (i < j && R[i] < pivot)
i++;
if (i < j) {
R[j] = R[i];
j--;
}
}
R[i] = pivot;
QuickSort(R, low, i - 1);
QuickSort(R, i + 1, high);
}
}
int main() {
int n;
while (cin >> n) {
if (n == -1) return 0;
char c[100];
int num[100],t[100];
for (int i = 0; i <100; i++) {
num[i] = 0;
}
cin >> c;
int j = 0,m=0;
for (int i = 0; i < strlen(c); i++) {
if (c[i] != '5') {
t[j] = c[i]-'0';
j++;
}
else {
if (j == 0) continue;
else {
for (int k = 0; k < j; k++) {
num[m] = num[m] * 10 + t[k];
}
}
m++;
j = 0;
}
}
QuickSort(num, 0, m - 1);
for (int i = 0; i < m; i++) {
cout << num[i] << " ";
}
cout << endl;
}
return 0;
}