什么是冒泡排序算法代码-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务金川,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

什么是冒泡排序算法代码?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

冒泡排序,是一种计算机科学领域的较简单的排序算法,它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序【如从大到小、首字母从Z到A】错误就把他们交换过来。

void vBubbleSort(int arr[], int len){
    int i, j, temp;
    for (j = 0; j < len - 1; j++){            //每次大元素就像气泡一样"浮"到数组的最后
        for (i = 0; i < len - 1 - j; i++){    //依次比较相邻的两个元素,使较大的那个向后移
            if(arr[i] > arr[i + 1]){            //交换两个数
                temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
            }
        }
    }
}
void vBubbleSortChange(int arr[], int len){
    int i,j,temp;
    int swapped = 1;
    for (j = 0; swapped; j++){            //每次大元素就像气泡一样"浮"到数组的最后
        swapped = 0;
        for (i = 0; i < len - 1 - j; i++){    //依次比较相邻的两个元素,使较大的那个向后移
            if(arr[i] > arr[i + 1]){            //交换两个数
                temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
                swapped = 1;
            }
        }
//        if(    swapped == 0) {j = len-1;}//如果没有元素交换,说明序列是顺序的,退出循环
    }
}
void vCockTailSort(int arr[],int len){
    int tmp,i,left=0,right = len-1;
    while(left < right){
        for(i=left;i<right;i++){//正向冒泡,确定大值
            if(arr[i]>arr[i+1]){
                tmp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = tmp;
            }
        }
        right--;
        for(i=right;i>left;i--){//反向冒泡,确定最小值
            if(arr[i]<arr[i-1]){
                tmp = arr[i];
                arr[i] = arr[i-1];
                arr[i-1] = tmp;
            }
        }
        left++;
    }
}
void vCockTailSortChange(int arr[],int len){
    int tmp,i,left=0,right = len-1;
    int swapped = 1;
    int bound = 0;//记录某趟遍历的最后一次交换元素的位置,优化减少循环次数
    while(swapped){//如果没有元素交换,说明序列是顺序的
        swapped = 0;
        for(i=left;i<right;i++){//正向冒泡,确定大值
            if(arr[i]>arr[i+1]){
                tmp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = tmp;
                swapped = 1;
                bound = i;
            }
        }
        right=bound;//缩小遍历边界
        for(i=right;i>left;i--){//反向冒泡,确定最小值
            if(arr[i]<arr[i-1]){
                tmp = arr[i];
                arr[i] = arr[i-1];
                arr[i-1] = tmp;
                swapped = 1;
                bound = i;
            }
        }
        left=bound;//缩小遍历边界
    }
}

看完上述内容,你们掌握什么是冒泡排序算法代码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!

分享名称:什么是冒泡排序算法代码-创新互联
网页链接:https://www.cdcxhl.com/article12/dhhegc.html

成都网站建设公司_创新互联,为您提供网页设计公司营销型网站建设GoogleChatGPT服务器托管商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设