Java实现选择排序

选择排序法可使用两种方式排序,一种是在所有的数据中,当从大到小排序,则将最大值放入第一个位置;当从小到大排序,则将最小值放入第一个位置。
1.无论是最坏、最好以及平均情况都需要进行n(n-1)/2次比较,故时间复杂度为O(n^2)。
2.由于选择排序是以最大或最小值直接与最前方未排序的键值交换,数据排序顺序很可能被改变,故选择排序为不稳定排序法。
3.只需一个额外的空间,因此空间复杂度为最佳。
4.此排序法适用于数据量小或有部分数据已经过排序的情况。

package Sort;
//设计一个选择排序法,对数列9,7,5,3,4,6进行排序
public class SelectionSort {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int data[]= {9,7,5,3,4,6};
		int i,j,temp,k;
		for(i=0;i<5;i++) {
			for(j=i+1;j<6;j++) {
				if(data[i]>data[j]) {
				temp=data[i];
				data[i]=data[j];
				data[j]=temp;
				}
			}
			System.out.print("第"+(i+1)+"次排序结果:");
			for(k=0;k<6;k++) {
				System.out.print(data[k]+" ");
			}
			System.out.println();
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值