java实现 冒泡排序 选择排序

思路都再注释里~直接上代码

import java.util.Arrays;

public class BasicSort {

	public static void bubbleSort(int n[])
	{
		//沉底/飘起思想
		for(int i=1;i<n.length;i++) //外层循环表示完成多少次:数组长度减一次
			for(int j=0;j<i;j++) //内层循环表示每轮比较多少次
				if(n[j]>n[i])
				{
					int temp=n[i];
					n[i]=n[j];
					n[j]=temp;
				}
		//比较次数:1+2+3+4... 时间复杂度为平方阶
	}
	
	
	public static void selectionSort(int n[])
	{
		//每次选出当前范围内最大(小)的元素,放到最后
		int max_index=0;
		int temp=0;
		for(int i=n.length-1;i>=0;i--) //外层循环决定每次的比较范围,范围逐渐缩小
		{
			for(int j=0;j<=i;j++)//内层循环找出每个范围内最大(小)的元素
				if(n[max_index]<n[j])
				{	
					max_index=j;//保存元素下标
				}
		    temp=n[i];
		    n[i]=n[max_index];
		    n[max_index]=temp;
			max_index=0; //下标更新为新数组(交换过元素的数组)的第一个
		}	
	}
	
	public static void main(String[] args) {
		int n[]= {9,23,54,1,2,3,36,12,59,9,67,81};
		bubbleSort(n);
		//selectionSort(n);
		System.out.println(Arrays.toString(n));
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值