非比较排序
- 1、思想
不需要进行元素之间的比较,交换,在线性的时间内完成排序。 - 2、分类
1)计数排序
2)基数排序 - 3、优缺点
要求的空间比较多,是典型的以空间换时间的一种做法
计数排序
- 1、原理
- 2、代码实现
#include<iostream>
using namespace std;
void CountSort(int* a,int n)
{
//1、首先确定要开一个多大的用于统计的数组
int size = 0;
int min = a[0];
int max = a[0];
for(int i = 0; i<n; i++)
{
if(a[i] < min)
min = a[i];
if(a[i] > max)
max = a[i];
}
size = max-min+1;
//2、开始进行统计原数组中对应下标出现的数
int* count