排序算法-----桶排序

原理:
桶排序,就是把需要排序的数字当作下标,分别储存到一个一个桶中,首先清空数组,如果有这个数,它对应的值增加一次,没有的话,该下标对应的值就为0,这种方法复杂度比较低,而且可以起到去重的作用,不过缺点是不能应用于太大的数组
比如
如果输入数据的范围是1~6,就可以准备6个桶,
在这里插入图片描述
比如输入2,3,2,6,1,4
那么

s[1]=1;
s[2]=2;
s[3]=1;
s[4]=1;
s[5]=0;
s[6]=1;

输出的时候,直接输出下标就可以了

代码实现

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
 int s[100],i,x;
 memset(s,0,sizeof(s));
 for(i=1;i<=10;i++)
 {
  cin>>x;
  s[x]++;
 }
 for(i=0;i<100;i++) 
 {
  if(s[i]!=0)
   cout<<i<<' ';
 }
 return 0;
}

测试结果
在这里插入图片描述

发布了37 篇原创文章 · 获赞 3 · 访问量 1176

猜你喜欢

转载自blog.csdn.net/qq_45721778/article/details/104684125