啊哈算法-桶排序

这篇博客主要介绍了桶排序算法,重点讲解了如何利用桶排序对0~1000之间的整数进行从大到小的排序,并提及了与冒泡排序的区别。
摘要由CSDN通过智能技术生成

//桶排序

#include<stdio.h>
#include<stdlib.h>

int main()
{ 
    int a[11],i,j,t;
    for(i=0;i<=10;i++)
        a[i]=0;   //初始化为0
    for(i=1;i<=5;i++){   //循环5次
        scanf("%d",&t);  //输入5个数
        a[t]++;  //进行计数
    }
    for(i=0;i<=10;i++)    //依次判断a[0]-a[10]
        for(j=1;j<=a[i];j++)  //  出现了几次就打印几次
            printf("%d",i);

    system("pause");
    return 0;
}

 

2019.10.7   

不是很懂那个依次判断a[0]-a[10],出现了几次就打印几次

 

 

//0~1000 之间的整数进行排序 ,从大到小

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int book[1001],i,j,t,n;
    for(i=0;i<=1000;i++)
        book[i]=0;
    scanf("%d",&n); //
    for(i=1;i<=n;i++)
    {
        scanf("%d",&t);
        book[t]++;
    }
    for(i=1000;i>=0;i--)
        for(j=1;j<=book[i];j++)
            printf("%d",i);
    system("pause");
    return 0;

}

 

 

//冒泡排序 越小的越靠后

 


#include<stdio.h>
#include<stdlib.h>

int main()
{
    int a[100],i,j,t,n;
    scanf("%d",&n);//输入一个数n,表示接下来有n个数
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
    //冒泡排序的核心部分     for(i=1;i<=n-1;i++){
        for(j=1;j<=n-i;j++){
            if(a[j]<a[j+1])
            {
                t=a[j];
            a[j]=a[j+1];
            a[j+1]=t; 
            }
        }
    }
    for(i=1;i<=n;i++)
      printf("%d",a[i]);
     system("pause");
     return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值