冒泡排序
发布日期:2021-06-30 19:03:34
浏览次数:2
分类:技术文章
本文共 1661 字,大约阅读时间需要 5 分钟。
冒泡排序算法的思想:很简单,每次遍历完序列都把最大(小)的元素放在最前面,然后再对剩下的序列从父前面的一个过程,每次遍历完之后待排序序列就少一个元素,当待排序序列减小为只有一个元素的时候排序就结束了.因此,复杂度在最坏的情况下是O(N ^ 2).void Swap( int * a, int * b) { int temp; temp = * a; * a = * b; * b = temp;} // 冒泡排序 void BubbleSort( int array[], int length) { // 记录一次遍历中是否有元素的交换 bool exchange; for ( int i = 0 ; i < length; ++ i) { exchange = false ; for ( int j = i + 1 ; j < length; ++ j) { if (array[j] < array[i]) { exchange = true ; Swap( & array[j], & array[i]); } } // 如果这次遍历没有元素的交换,那么排序结束 if ( false == exchange) break ; } }
从后往前版本
#includePHP版本;void bubble_sort(int arr[],int count);void bubble_sort(int arr[],int count){ int i;int j;int temp; for(i=0;i i;j--) { if(arr[j]
"; $arr=bubble_sort($arr); print "排序后 "; print_r($arr); function bubble_sort($array) { $count = count($array); $bool=true;$k=0; for($i=0;$i<$count;$i++) { for($j=$count-1;$j>$i;$j--) { if($array[$j]<$array[$j-1]) { $temp=$array[$j]; $array[$j]=$array[$j-1]; $array[$j-1]=$temp; $bool=false; $k++; } } if($bool==true) { break; } } echo "一共用了".$k."次"; return $array; } ?>
转载地址:https://linuxstyle.blog.csdn.net/article/details/1534105 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月09日 00时11分30秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【NLP学习笔记】训练集、验证集和测试集的概念及划分
2019-04-30
【NLP学习笔记】conda换源
2019-04-30
【深度学习笔记】标准卷积
2019-04-30
【深度学习笔记】组卷积
2019-04-30
【深度学习笔记】循环神经网络和递归神经网络区别
2019-04-30
【学习笔记】英文科技论文常见英语句式积累
2019-04-30
【深度学习笔记】PixelShuffle
2019-04-30
【python3学习笔记】斜杠和双斜杠运算符的区别
2019-04-30
【深度学习笔记】用torch.nn.Sequential()搭建神经网络模型
2019-04-30
【深度学习笔记】用torch.nn.ModuleList搭建神经网络
2019-04-30
【深度学习笔记】pytorch的点乘(dot product)
2019-04-30
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30