java实现整数选择排序

本文介绍了在Java中如何实现整数的选择排序。详细阐述了选择排序的工作原理,并通过示例代码展示了其实现过程。选择排序是一种简单直观的排序算法,它会通过n-1轮比较找到最小元素并逐步构建有序序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现整数排序的方法有很多,属于数据结构里面比较重要的一部分也是数据结构必讲的一个知识点,最近在学习java语言实现的整数排序,现在把学到的和大家分享一下。

选择排序,

第一次循环示意图:
































假如数组有n个元素,排序将进行n次,我们介绍第一次排序,后面的n-1次排序和前面的一样,

第一次排序,用数组Data的第一个元素Data[0]和第二个元素Data[1]进行比较,如果第一个元素比第二个元素大,则交换第一个元素Data[0]和第二个元素Data[1]的数值;然后第

一元素Data[0]和第三个元素Data[2]进行比较,如果第一个元素Data[0]的值比第三个元素Data[2]的值大,则进行交换值,如果不大则不交换;以此类推直到第一个元素Data[0]和最后一个元素Data[n-1]比较完,则第一轮比较结束。第一轮比较结束的结果是第一个元素Data[0]的值将是整个数组Data中最小的一个元素。接下来进行第二轮比较,第二轮和第一轮类似,这次用第二个元素Data[1]着次和后的元素比较,一次类推、、、、、、,总共比较完需要n-1轮比较,每次比较次数分别是n-1,n-2、、、、1.

代码如下:

/*
 * 采用选择排序对整数数组惊醒排序
 * */

public class SelectionnSort implements ISortNumber{
	public SelectionnSort(){
		
	}


	@Override
	public int[] sortASC(int[] intArray) {
		if(intArray == null){
			return null;
		}
		int[] srcDatas = intArray.clone();
		int size = srcDatas.length;
		for(int i = 0;i<size;i++){
			for(int j = i;j < size;j++){
				if(srcDatas[i]>srcDatas[j]){
					swap(srcDatas,i,j);
				}
			}
		}
		return srcDatas;
	}
	/*
	 * 交换数组中下标为src和dest的值
	 * @param data数组
	 * @param src源下标
	 * @param dest目标下标
	 * */
	private void swap(int[] data,int src ,int dest){
		int temp = data[src];
		data[src] = data[dest];
		data[dest] = temp;
	}


}
public interface ISortNumber {
	/*
	 * 对整形数据按照升幂排列
	 * @param intArray待排序的整形数组
	 * @return 按照升序排列后的数组
	 * */
	public int[] sortASC(int[] intArray);
	

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值