十大排序算法之计数排序

    xiaoxiao2021-12-14  21

    计数排序算法:

    void countingsort_10(vector<int> &_snum, int _len) { vector<int>::iterator k; k = max_element(_snum.begin(), _snum.end()); int knum = _snum[k - _snum.begin()]; vector<int> t(knum); vector<int> result(_len); for (int i = 0; i < knum; i++) { t[i] = count(_snum.begin(), _snum.end(), i+1); } for(int i=1; i<knum; i++) { t[i] += t[i - 1]; } for (int i = _len-1; i >= 0; i--) { result[t[_snum[i]-1]-1] = _snum[i]; t[_snum[i]-1 ]--; } _snum = result; }

    转载请注明原文地址: https://ju.6miu.com/read-971606.html

    最新回复(0)