算法学习之排序——冒泡排序及其改进算法(Java)
2015-02-05 11:28
399 查看
冒泡排序:
冒泡排序改进一:
若在某次排序中,没有交换,则已排好序,无需继续。
public class bubbleSort { public static void bubble(int[] array) { for(int i = array.length - 1; i > 0 ; i--) { for(int j = 0; j < i; j++) { if(array[j] > array[j+1]) { int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } } public static void main(String[] args) { int[] array = {4}; bubble(array); for(int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } } }
冒泡排序改进一:
若在某次排序中,没有交换,则已排好序,无需继续。
public class improveBubbleSort { public static void improveBubble(int[] array) { boolean isSorted = false; for(int i = array.length -1; i > 0 && !isSorted; i--) { isSorted = true; for(int j = 0; j < i; j++) { if(array[j] > array[j+1]) { isSorted = false; int temp = array[j]; array[j] = array[j+1]; array[j+1] = array[j]; } } } } public static void main(String[] args) { int[] array = {0,1,2,4,3}; improveBubble(array); for(int a = 0; a < array.length; a++) { System.out.print(array[a] + " "); } } }
相关文章推荐
- 黑马程序员—Java基础学习笔记之排序算法:选择排序&冒泡排序
- 经典内部排序算法学习总结(算法思想、可视化、Java代码实现、改进、复杂度分析、稳定性分析)
- 算法系列(四)归并排序及其改进(java实现)
- PHP算法学习之“简单的交换排序”,“冒泡排序”以及“改进后的冒泡排序”
- 常见算法学习及其Java实现--有序区和无序区的冒泡算法实现
- 用JAVA实现排序算法之一:冒泡排序
- JAVA排序算法之一冒泡排序
- 算法学习之排序学习之基数排序,计数排序及java实现
- 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)
- 黑马程序员_java基础学习笔记之排序算法(选择排序、冒泡排序
- 基础算法之排序(1)--冒泡排序 改进
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- java基础知识之 算法 【冒泡排序】【快速排序】
- 一步步学习数据结构和算法之冒泡排序效率分析及java实现
- java学习-算法1--冒泡排序
- 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- 冒泡排序及其改进算法