aha排序

来源:互联网 发布:设计相关软件 编辑:程序博客网 时间:2024/05/22 03:43
桶排序:
优缺点:
运算效率高
但浪费空间,只能整数运算,
/*
#include <stdio.h>


int main()
{
    //对0~1000的数值 进行桶排序
    int book[1001]={0},t,n,i,j;//初始化每个计数桶
    scanf("%d",&n);//要输入n个数
    for(i=1;i<=n;i++)//输入那个数 那个数值就要+1
    {
        scanf("%d",&t);
        book[t]++;
    }
    for(i=0;i<1001;i++)//数
    {
        for(j=1;j<=book[i];j++)//次数
        {
            printf("%d",i);
        }
    }
    return 0;
}
*/
/*总结:
    >1:
    int a[11]={0};√
    >2:
    疑问:
    时间复杂度O(m+n)
                    */
冒泡排序:
优缺点:
不占空间
但效率低
#include <stdio.h>
struct stu
{
    char name[21];
    int num;
};
int main()
{
    int n,i,j;
    scanf("%d",&n);
    struct stu a[100],t;
    for(i=0;i<n;i++)
    {
        scanf("%*c%s %d",a[i].name,&a[i].num);
    }
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<=n-i-1;j++)
        {
            if(a[j].num<a[j+1].num)
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%s\n",a[i].name);
    }
    return 0;
}
/*
5
huhu 5
haha 3
xixi 5
hengheng 2
gaoshou 8
总结:
    >1:
    不知道为何错√
    >2:
    疑问:
    时间复杂度O(m*n)
                    */
快速排序








原创粉丝点击