赞
踩
C++实现排序算法之计数排序
B站该视频理解比较好,讲的比较详细(标题讲的是桶排序,但最本质是计数排序)
#include <iostream> #include <algorithm> #include <cmath> using namespace std; void sort(int arr[], int len) { int arrTemp[34] = { 0 }; //这里的数组大小取值,是等于原数组中最大值+1 int arrTempLen = sizeof(arrTemp) / sizeof(int); for (int i = 0; i < len; i++) //分别将原数组中的数值,放到对应索引的桶元素中,并开始进行计数 { arrTemp[arr[i]]++; } for (int i = 0; i < arrTempLen; i++) { for (int j = 1; j <= arrTemp[i]; j++) { cout << i << " "; } } cout << endl; } void main() { cout << endl; int arr[] = { 7, 4, 3, 2, 7, 10, 33, 2 }; int len = sizeof(arr) / sizeof(int); cout << "排序后结果:" << endl; sort(arr, len); cout << endl; system("pause"); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。