`
kevin_in_java
  • 浏览: 29362 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

选择排序-java实现

阅读更多
package test;
/*
 * CHOUSESORT(A)
 * for i ← 1 to length(A)
 * 		min ← i
 * 		j ← min+1 
 * 			for j<length(A)
 * 				if A(j)<A(min)
 * 				min ← j
 * 		swap A(min) A(i)
 */

import java.util.Arrays;

public class Sort {
	public static void chouseSort(int array[])
	{
		for(int i=0;i<array.length;i++)
		{
			int min=i;
			for(int j=min+1;j<array.length;j++)
			{
				if(array[j]<array[min])
					min=j;
			}
			int temp=array[min];
			array[min]=array[i];
			array[i]=temp;
		}
	}
	public static void main(String args[])
	{
		int array[]={10,9,8,7,6,5,4,3,2,1};
		Sort.chouseSort(array);
		System.out.println(Arrays.toString(array));
	}
}

 

0
0
分享到:
评论
4 楼 kevin_in_java 2011-11-14  
sshmecity 写道
[color=violet][/color]
嗜血狂魔 写道
奇了怪了,你这方法不伦不类,是冒泡算法的复杂写法吧。

我感觉是得    复杂的冒泡   直接调用SORT方法就可以了。。。

应该没写错的。。。Java 的Sort方法是优化的快速排序,写这个复习下数据结构,请多指教
3 楼 kevin_in_java 2011-11-14  
嗜血狂魔 写道
奇了怪了,你这方法不伦不类,是冒泡算法的复杂写法吧。

应该没错的。选择排序遍历一遍找到最小的元素进行交换,只有array[min]元素和array[i]有交换,数列其他元素没有调整。冒泡会导致数列进行多次交换。不过这两个算法思想上区别不大
2 楼 sshmecity 2011-11-14  
[color=violet][/color]
嗜血狂魔 写道
奇了怪了,你这方法不伦不类,是冒泡算法的复杂写法吧。

我感觉是得    复杂的冒泡   直接调用SORT方法就可以了。。。
1 楼 嗜血狂魔 2011-11-14  
奇了怪了,你这方法不伦不类,是冒泡算法的复杂写法吧。

相关推荐

Global site tag (gtag.js) - Google Analytics