选择、冒泡、桶排 模板

一、选择排序

for(int i=0;i<n;i++){
    k=i;
    for(int j=i+1;j<n;j++){
        if(a[j]<a[k]) k=j;
    }
    if(k!=i) swap(a[i],a[k]); 
}

时间复杂度:O(n^2)
稳定性:不稳定

二、冒泡排序(2.0版)

bool flag;
for(int i=0;i<n-1;i++){
    flag=true;
    for(int j=0;j<n-i;j++){
        if(a[j]>a[j+1]){
            swap(a[j],a[j+1]);
            flag=false;
        }
    }
    if(flag=true) break;
}

时间复杂度:O(n^2)
稳定性:稳定

三、桶排序

const int k=INF;    //这里的k指n的上界 
for(int i=1;i<=n;i++){
    scanf("%d",&k);
    b[k]=k;
}
for(int i=0;i<=k;i++){
    while(b[i]>0){
        printf("%d ",i);
        b[i]--;
    }
}

时间复杂度:O(n)
注:还有O(n)的辅助空间

稳定性:稳定

----------------------------------------------THE END-----------------------------------------

原文链接: https://www.cnblogs.com/-pwl/p/12376194.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    选择、冒泡、桶排 模板

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/334821

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午9:50
下一篇 2023年3月1日 下午9:50

相关推荐