Java 冒泡排序算法
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://tscjsj.blog.51cto.com/412451/84561 |
冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对,则交换它们,其结果是最大值“想水泡一样”移动到值列的最后一个位置上,这也是它在最终完成排序的值列中合适的位置。然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。
下面是两个Java冒泡算法程序:
public class Bubble { // 冒泡排序函数1 public static void bubbleSort1(Comparable []data){ int position,scan; Comparable temp; for(position = data.length-1;position>=0;position--){ for(scan=0;scan<=position-1;scan++){ if(data[scan].compareTo(data[scan+1])<0){ temp = data[scan]; data[scan] = data[scan+1]; data[scan+1]=temp; } } } } // 冒泡排序函数2 public static int[] bubbleSort2(int[] m){ int intLenth = m.length; /*执行intLenth次*/ for (int i=0;i<intLenth;i++){ /*每执行一次,将最小的数排在后面*/ for (int j=0; j<intLenth-i-1;j++) { int a = m[j]; int b = m[j + 1]; if (a < b) { m[j] = b; m[j + 1] = a; } } } return m; } public static void main(String []args){ // 冒泡排序1 Comparable []c={4,9,23,1,45,27,5,2}; bubbleSort1(c); for(int i=0;i<c.length;i++) System.out.println("冒泡排序1:"+c[i]); System.out.println("*******************"); // 冒泡排序2 int []b = {4,9,23,1,45,27,5,2}; int []e = bubbleSort2(b); for(int j=0;j<e.length;j++) System.out.println("冒泡排序2:"+e[j]); } } 本文出自 “唐大老师” 博客,请务必保留此出处http://tscjsj.blog.51cto.com/412451/84561 本文出自 51CTO.COM技术博客 |
附件下载:
冒泡算法--Java版
冒泡算法--Java版

lidapeng
博客统计信息
热门文章
最新评论
友情链接

