java常用排序算法
2011-06-29 14:08
197 查看
一、选择排序
优化后的选择排序算法
二、冒泡排序法
public class NumberSort { private static int arrays[]; public static void main(String[] args) { read(args); System.out.print("排序之前:"); print(arrays); System.out.print("排序之后:"); selectionSort(arrays); print(arrays); } //定义一个从命令行读取参数的方法 private static void read(String[] args) { arrays = new int[args.length]; for (int i=0; i<args.length; i++) { arrays[i] = Integer.parseInt(args[i]); } } //定义一个将数组中的各个元素打印出来的方法 private static void print(int[] arrays) { for (int array : arrays) { System.out.print(array + " "); } System.out.println(); } //定义一个用选择排序算法进行排序的方法 private static void selectionSort(int[] arrays) { for (int i=0; i<arrays.length; i++) { for (int j=i+1; j<arrays.length; j++) { if (arrays[i] > arrays[j]) { int temp = arrays[i]; arrays[i] = arrays[j]; arrays[j] = temp; } } } } }
优化后的选择排序算法
public class NumberSort { private static int arrays[]; public static void main(String[] args) { read(args); System.out.print("排序之前:"); print(arrays); System.out.print("排序之后:"); selectionSort(arrays); print(arrays); } //定义一个从命令行读取参数的方法 private static void read(String[] args) { arrays = new int[args.length]; for (int i=0; i<args.length; i++) { arrays[i] = Integer.parseInt(args[i]); } } //定义一个将数组中的各个元素打印出来的方法 private static void print(int[] arrays) { for (int array : arrays) { System.out.print(array + " "); } System.out.println(); } //定义一个用选择排序算法进行排序的方法 private static void selectionSort(int[] arrays) { int k = 0; int temp = 0; for (int i=0; i<arrays.length; i++) { k = i; for (int j=k+1; j<arrays.length; j++) { if (arrays[k] > arrays[j]) { k = j; } } if (k != i) { temp = arrays[i]; arrays[i] = arrays[k]; arrays[k] = temp; } } } }
二、冒泡排序法
public class BubbleSort { public static void main(String[] args) { Date[] days = new Date[5]; days[0] = new Date(2006, 5, 4); days[1] = new Date(2006, 7, 4); days[2] = new Date(2008, 5, 4); days[3] = new Date(2004, 5, 9); days[4] = new Date(2004, 5, 4); bubbleSort(days); for (Date day : days) { System.out.println(day); } } private static void bubbleSort(Date[] days) { Date temp = null; for (int i=days.length-1; i>0; i--) { for (int j=0; j<i; j++) { if (days[j].compare(days[j+1]) > 0) { temp = days[j]; days[j] = days[j+1]; days[j+1] = temp; } } } } } class Date { private int year, month, day; public Date(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } public int compare(Date date) { return this.year > date.year ? 1 : this.year < date.year ? -1 : this.month > date.month ? 1 : this.month < date.month ? -1 : this.day > date.day ? 1 : this.day < date.day ? -1 : 0; } public String toString() { return "Year:Month:Day -- " + this.year + "-" + this.month + "-" + this.day; } }
相关文章推荐
- Java如何实现八个常用的排序算法
- Java常用的八种排序算法与代码实现
- Java 常用排序算法
- 用java编写几种常用的排序算法
- Java中常用的6种排序算法详细分解
- 一遍记住Java常用的八种排序算法与代码实现
- Java常用的八种排序算法与代码实现
- 常用排序算法总结---Java实现
- Java常用的7大排序算法汇总
- Java 常用排序算法
- java常用算法之排序算法
- 程序员必须掌握!Java常用的8大排序算法
- 【Java常用排序算法】选择排序(简单选择排序、堆排序)
- Java 常用排序算法实现
- 一遍记住Java常用的八种排序算法与代码实现
- 【Java常用排序算法】归并排序(二路归并排序)
- 三种常用排序算法(冒泡、选择、快速)的Java实现
- java 常用排序算法/程序员必须掌握的 8大排序算法
- java常用排序算法
- 一些常用的排序算法(JAVA版)