////插入排序
//#include <bits/stdc++.h>
//using namespace std;
//int n;
//int a[10010];
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];
//	}
//	for (int i = 2; i <= n; i++) {
//		int j = i - 1;
//		int t = a[j];
//		while (j >= 1 && a[j] > t) {
//			a[j + 1] = a[j];
//			j--;
//		}
//		a[j + 1] = t;
//	}
//	for (int i = 1; i <= n; i++) {
//		cout << a[i] << " ";
//	}
//	return 0;
//}

////选择排序
//#include <bits/stdc++.h>
//using namespace std;
//int n;
//int a[110];
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];
//	}
//	for (int i = 1; i < n; i++) {
//		int index = i;
//		for (int j = i; j <= n; j++) {
//			if (a[j] < a[index]) {
//				index = j;
//			}
//		}
//		swap(a[i], a[index]);
//	}
//	for (int i = 1; i <= n; i++) {
//		cout << a[i] << " ";
//	}
//	return 0;
//}

////冒泡排序
//#include <bits/stdc++.h>
//using namespace std;
//int n;
//int a[110];
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++) {
//		cin >> a[i];
//	}
//	for (int i = 1; i < n; i++) {
//		bool f = false;
//		for (int j = 1; j <= n - i; j++) {
//			if (a[j] > a[j + 1]) {
//				swap(a[j], a[j + 1]);
//				f = true;
//			}
//		}
//		if (!f)break;
//	}
//	for (int i = 1; i <= n; i++) {
//		cout << a[i] << " ";
//	}
//	return 0;
//}

////计数排序
//#include <bits/stdc++.h>
//using namespace std;
//int n, x, ma;
//int a[100005];
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++) {
//		cin >> x;
//		a[x]++;
//		ma = max(x, ma);
//	}
//	for (int i = 0; i <= ma; i++) {
//		for (int j = 1; j <= a[i]; j++) {
//			cout << i << " ";
//		}
//	}
//	return 0;
//}

//桶排序
#include <bits/stdc++.h>
using namespace std;
int n;
int a[110];
vector<int> b[10005];
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		int idx = a[i] / 10;
		b[idx].push_back(a[i]);
	}
	for (int i = 0; i < 10005; i++) {
		sort(b[i].begin(), b[i].end());
		for (auto x : b[i]) {
			cout << x << " ";
		}
	}
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
1722
时间
ms
内存
MiB
难度
2
标签
递交数
700
已通过
171
上传者