冒泡排序
将需要排序的列表,从第一位开始,每相临两个元素比较,如果某一位大于(或小于)他的下一位,则交换两个元素位置,直至不能交换。
这种排序的平均时间复杂度是平方级的,效率不高,容易实现。
/** * BubbleSort.java * * @author xieyan * @date 2013/06/20 * @version 1.0 */ package sort; /** * BubbleSort.java */ public class BubbleSort { /* * 冒泡排序: * 将需要排序的列表,从第一位开始,每相临两个元素比较,如果某一位大于(或小于)他的下一位,则交换两个元素位置。 * 直至不能交换。 * * 这种排序的平均时间复杂度是平方级的,效率不高,容易实现 */ /** * bubbleSortAsc * * <PRE> * 升序 * </PRE> * * @param arr */ public static int[] bubbleSortAsc(int[] arr) { if(arr == null) { return null; } int temp = 0; for (int i = arr.length - 1; i > -1; i--) { for(int j = 0; j < i; j++) { if(arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } /** * bubbleSortDesc * * <PRE> * 降序 * </PRE> * * @param arr */ public static int[] bubbleSortDesc(int[] arr) { if(arr == null) { return null; } int temp = 0; for (int i = arr.length - 1; i > -1; i--) { for(int j = 0; j < i; j++) { if(arr[j] < arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } public static void main(String[] args) { int[] a = new int[] { 5, 7, 8, 3, 4, 2, 9, 1, 6 }; int[] b = bubbleSortAsc(a); for (int i = 0; i < b.length; i++) { System.out.println(b[i]); } b = bubbleSortDesc(a); for (int i = 0; i < b.length; i++) { System.out.println(b[i]); } } }
相关推荐
在STM8S003单片机上实现数组排序,用3种冒泡排序法对数组进行排序,并通过串口打印排序过程。
详解Java常用排序算法-冒泡排序
基于python的排序算法-冒泡排序Bubble Sort
关于c#的一些算法 选择排序 冒泡排序 快速排序 插入排序 希尔排序 归并排序 基数排序 计数排序。。。
Bubble Sort-冒泡排序算法-少儿编程scratch项目源代码文件案例素材.zip
TIA博途_冒泡排序SCL算法_全局FC库文件_V15版本
经典排序算法 - 冒泡排序Bubble sort 经典排序算法 - 选择排序Selection sort 经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - ...
选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验分析的一致性 当面临巨大数据量的排序的时候,还是优先选择合并排序算法和快速排序算法。...
冒泡排序
VC++多线程实现三种排序算法比较----冒泡排序、快速排序、归并排序,很有意思,可以下载看看!
算法-数据结构和算法-9-冒泡排序.rar
java排序算法-大全.rar 集合了多种java排序算法
冒泡排序-排序过程 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮",如此反复进行,...
C#_基于C#实现的冒泡排序算法_Bubble-Sort
此文件为数据结构中的九种排序算法,包含一些排序方法的过程,其九种排序包括:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序!
Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...
Java后端算法-冒泡排序和选择排序对比
PHP_基于php实现的冒泡排序算法_BubbleSort
C语言实现常见排序算法。编译环境:VS2010。 包括: 冒泡排序 快速排序 直接插入排序 Shell排序 直接选择排序 堆排序 归并排序(递归和非递归两种) 桶式排序 基数排序:顺序和静态队列两种方法 索引排序(采用简单...