1、冒泡排序算法
public class MaoPao { public static void main(String[] args) { int[] a = { 10, 3, 55, 22, 25, 44, 9, 58, 33, 12 }; paiXu(a); System.out.println("最终比较结果:"); print(a); } private static void print(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + "\t"); if(i==a.length-1){ System.out.println(); } } } /** * 冒泡排序 * n个数进行排序,需进行n-1轮比较 * 每一轮比较中需进行(n-当前轮数)次两两比较,每比较完一轮排好一个数 * @param a */ public static void paiXu(int[] a) { for (int i = 1; i < a.length; i++) { for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } System.out.println("第" + i + "轮比较结果:"); print(a); } } }
测试结果如下:
2、选择排序算法
public class XuanZe { public static void main(String[] args) { int a[] = { 3, 2, 8, 6, 4 }; xuanZe(a); System.out.println("最终比较结果:"); print(a); } private static void print(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + "\t"); if(i==a.length-1){ System.out.println(); } } } // 选择排序法 public static void xuanZe(int[] a) { for (int i = 0; i < a.length - 1; i++) { int minIndex = i;// 假设最小数的索引 // 找最小数的索引 for (int j = i + 1; j < a.length; j++) { if (a[j] < a[minIndex]) { minIndex = j; } } // 如果假设的最小数索引与找到的最小数索引不相同,那就交换位置 if (minIndex != i) { int t = a[i]; a[i] = a[minIndex]; a[minIndex] = t; } System.out.println("第" + (i+1) + "轮比较结果:"); print(a); } } }
测试结果如下:
3、插入排序算法
public class ChaRu { public static void main(String[] args) { int a[] = { 4, 2, 5, 8, 6 }; chaRu(a); System.out.println("最终比较结果:"); print(a); } private static void print(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + "\t"); if(i==a.length-1){ System.out.println(); } } } // 插入排序法 // 算法思想:假设前面的数已经排好,用后面的数跟前面的数进行比较 public static void chaRu(int[] a) { //首轮比较,假设第一个数已经排好 for (int i = 1; i < a.length; i++) { // 直到数组下标为0结束比较 for (int j = i; (j > 0) && (a[j] < a[j - 1]); j--) { int t = a[j]; a[j] = a[j - 1]; a[j - 1] = t; } System.out.println("第" + i + "轮比较结果:"); print(a); } } }
测试结果如下:
转载请注明出处: http://xieke90.iteye.com/blog/2235769
相关推荐
java基本排序算法实现,包括快速 选择 插入 希尔 堆 冒泡 交换
Java所有排序算法大全 Java所有排序算法大全 Java所有排序算法大全 Java所有排序算法大全
java实现的常用的几种基本排序算法,插入、交换、选择、归并
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
Java排序算法实现 Java排序算法实现 Java排序算法实现
Java各种排序算法代码.rar
java排序算法使用及场景说明 文档后面有一些别人的链接,多在google上搜索Java排序算法,及维基百科上面也有很全的算法介绍。
java 选择排序法 java 选择排序法 java 选择排序法
Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找 Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找
java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
Java各种排序算法集合: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序)
Java 快速排序,目前来说效率很高的一种排序算法,好理解。
Java语言实现的选择排序算法,代码里头有详细注释,注释皆为简单英文,因为这个算法比较简单,欢迎新手下载学习使用,欢迎后期的学习交流!
Java 排序 随机数 算法收录了几种java常见的排序算法!
Java常用排序算法 Java常用排序算法 Java常用排序算法 Java常用排序算法
Java 选择排序算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987
java各种排序算法的源代码,新鲜程度是决定蔬菜价值的重要指标,蔬菜在采摘后仍是鲜活的有机体,因此需要采用冷藏运输降低蔬菜的呼吸和蒸腾作用,保持蔬菜新鲜度。
Java常用排序算法源码 稳定:冒泡排序、插入排序、归并排序和基数排序;不稳定:选择排序、快速排序、希尔排序、堆排序
java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档