void CountSort(int* a, int n) { assert(a); int minValue = a[0]; int maxValue = a[0]; for (int i = 0; i < n; ++i) { if (minValue > a[i]) { minValue = a[i]; } if (maxValue < a[i]) { maxValue = a[i]; } } int range = maxValue-minValue+1; int* tmp = new int[range]; memset(tmp, 0, sizeof(int)*range); int index = 0; while (index < n) { tmp[a[index]-minValue]++; ++index; } index = 0; for (int i = 0; i < range; ++i) { while (tmp[i]--) { a[index++] = i+minValue; } } delete[] tmp; }
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
本文標題:C++實現計數排序-創新互聯
當前網址:http://vcdvsql.cn/article8/ceoiop.html
成都網站建設公司_創新互聯,為您提供服務器托管、全網營銷推廣、網站設計公司、手機網站建設、移動網站建設、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯