java版经典算法排序汇总

来源:互联网 发布:java语言特点 编辑:程序博客网 时间:2024/05/21 15:30

之前用java写过几篇关于排序算法的博客,作为一个初级菜鸟把所有的代码都写在main函数中,感觉不是很好,今天特意花点时间整理一下。

从性能方面而言,内部排序的多种排序方法各有优缺点,无法评定出可以获得公认的最佳排序法,排序算法在不同的环境中执行效率存在较大差异。按排序过程中依据的原则,内部排序方法可以分为插入排序,交换排序,选择排序,并归排序和分配排序5类;按照内部排序过程中所需的工作量,则可以分为简单的排序方法,先进的排序方法和基数排序3类。

在这里先总结一下选择排序和冒泡排序。

为了更好的体现java的面向对象思想,在写排序算法之前需要考虑排序需要用到哪几个功能。

1、首先当然是要有实现排序功能的主体

2、排序的过程中需要将元素的位置互换

3、要将排序后的结果显示出来

分析完需求接下来就是实现它了

步骤1、实现排序功能的主体

冒泡排序、选择排序

步骤2、写出进行元素的位置置换的方法

private static void swap(int[] array, int m,int n) {int temp = array[m];array[m] = array[n];array[n] = temp;}

步骤3、显示排序的结果

public static void printArray(int[] array){System.out.print("[");for (int index = 0; index < array.length; index++){if (index != array.length - 1)System.out.print(array[index] + ",");elseSystem.out.println(array[index] + "]");}}

完成这三步基本上就大功告成了,接下来就是在main函数中调用了
public static void main(String[] args) {int[] array = { 3, 0, 18, 25, 9, 41, 29, -16, -2, 5 };//SortDemo.bubbleSort(array);//冒泡排序//SortDemo.selectSort(array);//选择排序System.out.println("排序后的数组是:");SortDemo.printArray(array);}

显示结果:

排序后的数组是:[-16,-2,0,3,5,9,18,25,29,41]
算法优化部分参考自袁慎建的博客,未完待续!!!




0 0