#define RANGE 10000
int* sort(int* arr, int len) {
int* hashtable = new int[len];
memset(hashtable, 0, sizeof(int) * len);
for (int i = 0; i < len; ++i) {
hashtable[arr[i]]++;
}
return hashtable;
}
void printArrayFromHashTable(int* hash, int len) {
for (int i = 0; i < len; ++i) {
if (hash[i]) {
for (int j = 0; j < hash[i]; ++j) {
cout << i << ' ';
}
cout << endl;
}
}
}
1万个元素的数组,90%的元素都是1到100的数,10%的元素是101--10000的数,如何高效排序。
最新推荐文章于 2022-01-15 13:31:21 发布