计数排序

来源:互联网 发布:12315投诉淘宝有用吗 编辑:程序博客网 时间:2024/05/17 20:22

算法导论计数排序实现

#include<iostream>#include<vector>using namespace std;void counting_sort(vector<int>&A, vector<int>&B, int k){vector<int>C(k,0);for (int j = 0; j < A.size(); ++j){C[A[j]] = C[A[j]] + 1;}for (int i = 1; i < k; ++i){C[i] = C[i] + C[i - 1];}for (int l = A.size() - 1; l >= 0; --l){B[C[A[l]]-1] = A[l];C[A[l]] = C[A[l]] - 1;}}int main(){vector<int>A;int num;while (cin >> num){A.push_back(num);}vector<int>B(A.size(), 0);counting_sort(A, B, 100);for (int i = 0; i < B.size(); ++i)cout << B[i] << ends;cout << endl;return 0;}


0 0
原创粉丝点击