冒泡排序算法代码是什么?

冒泡排序算法代码是什么?,第1张

概述冒泡排序算法代码是什么?

冒泡排序算法代码是什么?

冒泡排序算法代码是:

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;//缩小遍历边界    }}

推荐教程:《C语言视频教程》 总结

以上是内存溢出为你收集整理的冒泡排序算法代码是什么?全部内容,希望文章能够帮你解决冒泡排序算法代码是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1158602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存