您的位置:首页 > 编程语言 > Java开发

java版经典算法排序汇总

2014-02-11 21:30 155 查看
之前用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
;
		array
 = 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] + ",");
			else
				System.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]
算法优化部分参考自袁慎建的博客,未完待续!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: