static int [] arr = new int []{ 4, 2, 3, 6,99, 5 ,56,23,41}; public static void main(String[] args) { show(order1()); } public static int[] order1(){ int count = 0; boolean a = false; int temp = 0; for (int i = 0;i<arr.length-1;i++) { a = true; for (int j = 0; j < arr.length-i-1; j++) { count++; if(arr[j] > arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; a = false; } } if(a){ break; } } System.out.println(count); return arr; } //方向搜索,从数组的最后开始搜索到最前面 public static int[] order1(){ int count = 0; int temp = 0; for (int i = 0;i<arr.length - 1;i++) { for (int j = arr.length-1;j > i;j--) { if(arr[j] < arr[j-1]){ temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } } } System.out.println(count); return arr; } public static void show(int [] arr){ System.out.println(Arrays.toString(arr)); }
冒泡排序的思路:每次排序都找出数组当中最大的数(忽略已经找到的)然后放到数组最后面。可以加一个标志位来判断是是否已经完全拍好序了,以避免做无用功。可以看count的输出来判断是否增加了效率。
相关推荐
本文和大家分享一个基于C语言优化冒泡排序的核心代码。
冒泡排序和选择排序均用两种方法实现,原始方法和在原始方法上的改进和优化,对应博客地址:http://blog.csdn.net/ns_code/article/details/20065107
C++实现优化冒泡排序、首/尾点快速排序、大顶堆排序,包含main函数,快速排序中需要手动输入排序元素数量和元素
python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的python冒泡排序优化后的...
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。
冒泡排序的优化算法,减少时间和次数,引入布尔函数
对冒泡排序法进行优化,比较的次数减少,效率提高
冒泡排序-排序过程 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮",如此反复进行,...
内容概要: 本资源详细解析了冒泡排序算法在C语言中的实现。冒泡排序是一种简单的排序算法...此外,本文还提供了一些优化冒泡排序的方法,如变长比较和提前结束循环等,有助于读者在实际应用中进一步提高算法的效率。
php优化版本的冒泡排序算法
上传了一个最近学到的冒泡排序法的优化写法,大家可自行查阅学习
python冒泡排序程序,优化代码。。,python冒泡排序程序python冒泡排序程序python冒泡排序程序python冒泡排序程序python冒泡排序程序
S7-200SMART冒泡排序-优化版(可选择升序降序及数据类型等)
//冒泡排序 for(int i=0;i;i++){ for(int j=i+1;j;j++){//注意j的开始值是i+1,因为按照排序规则,比a[i]大的值都应该在它后面 if(a[i] > a[j]){ int temp = a[j]; a[j] = a[i]; a[i] = temp; ...
此资源是本人演示冒泡排序及其优化方案的示例代码,欢迎大家下载。关于冒泡排序的介绍,也可以参考本人博文https://blog.csdn.net/Abel_Liujinquan/article/details/88880483
对于教学非常的方便使用,在原来普通算法的基础上做一个优化,可以节省很多的时间
python冒泡排序 冒泡排序的时间复杂度为O(n^2),其中n是列表的长度。这是因为对于每个元素,我们可能需要与其后面的所有元素进行比较和交换。尽管冒泡排序在某些情况下可能不是最优的...下面是优化后的冒泡排序代码:
冒泡排序是一种简单且常见的排序算法,它重复地遍历待排序的元素,并依次比较相邻的两个元素,如果它们的顺序不正确则交换它们,直到整个序列排序完成。以下是对C语言冒泡排序的描述,不包含具体的...优化:冒泡排序
C#语言编写的双向冒泡排序,优化了简单的冒泡排序,减少了循环次数,排序效率更高