首页 > 代码库 > 简化版桶排序操作模版

简化版桶排序操作模版

 1 //简化版的桶排序,时间复杂度为O(2*(m+n))->O(m+n) 2 //处理的问题:随机输入几组数,对这几组数进行自动排序操作(从小到大或从大到小排序) 3 #include <bits/stdc++.h> 4 using namespace std; 5 inline int read() 6 { 7     int x=0,f=1; 8     char ch=getchar(); 9     while(ch<0||ch>9)10     {11         if(ch==-)12             f=-1;13         ch=getchar();14     }15     while(ch>=0&&ch<=9)16     {17         x=x*10+ch-0;18         ch=getchar();19     }20     return x*f;21 }22 inline void write(int x)23 {24     if(x<0)25     {26         putchar(-);27         x=-x;28     }29     if(x>9)30     {31         write(x/10);32     }33     putchar(x%10+0);34 }35 int a[11];//储存1~10中某个数出现的次数36 37 38 int main()39 {40     for(int i=1;i<=10;i++)41     {42         int x;43         cin>>x;44         a[x]++;45     }46     //从小到大排序47     /*48     for(int i=1;i<=10;i++)49     {50         for(int j=1;j<=a[i];j++)//打印1~10中某个数出现的次数,出现几次打印几次51         {52             cout<<i<<" ";53         }54     }55     */56     //从大到小排序57     for(int i=10;i>=1;i--)58     {59         for(int j=1;j<=a[i];j++)60         {61             cout<<i<<" ";62         }63     }64     return 0;65 }

 

简化版桶排序操作模版