java数组排序

1、选择排序

Ÿ 利用原理是:从第0个下标开始进行比较和较大的数进行换位(借用第三方变量)第一次比较完后,从第1个小标开始进行比较和较大的数进行换位(借用第三方变量)

Ÿ 特点:第一次都比较完后,最小的数出现在了0下标位置上嵌套的for来完成

2、冒泡排序

相邻两个数据进行比较,根据结果换位


两种排序示意图


3、代码实例

        /*
		 选择排序的三个步骤
		 1. 遍历数组,把数组中每个元素分别取出
		 2. 出去后,进行大小的比较
		 3. 进行数组的换位置
		*/
		//选择排序
		for (int x = 0; x < arr.length - 1; x++) {
			for (int y = x + 1; y < arr.length; y++) {
				// x=1 y=1+1=2
				if (arr[x] > arr[y])// arr[1]>arr[2]
				{
					int temp = arr[x];
					arr[x] = arr[y];
					arr[y] = temp;
				}
			}
		}

		/*
		 定义函数实现冒泡排序
		 1. 确定函数运算后没有返回值
		 2. 不确定的数据就是数组

		 说明:
		   内圈循环,-x是为了比较的次数一次一次在减少
		              -1是为了防止数组越界异常
		  希尔排序,公认的效率最高的排序方式
		  插入形式的排序算法
		*/
		//冒泡排序
	    for(int x =0 ;x
   
   
    
    arr[y+1]){
			     int temp = arr[y];
				 arr[y] = arr[y+1];
				 arr[y+1] = temp;
			  }
		   }
		}

   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值