排序方法

    Java中常用的数组排序方法有:快速排序、冒泡排序、选择排序、插入排序。先总结下其中的冒泡排序、选择排序、插入排序。

    冒泡排序:

        通过比较前后两个元素的大小,将较大的元素往下沉,可以得到一个升序元素的数组。

for(int i = 0;i<array.length;i++){
		//有多少个大的元素下向下沉
			
			for(int j =0;j<array.length-1-i;j++){
			//两个相邻的元素比较的次数
				if(array[j] > array[j+1]){
					int temp = array[j];
					array[j] = array[j+1];
					array[j+1] = temp;
				}
			}
     选择排序:

       预先假设一个最小元素的下表(比如a0),通过for循环将数组中的所有元素和其比较,如果小于所预设的最小元素,就将下标值交换,否则继续向后比较,直至选出最小元素的下标,与所预设的最小下标比较,如果不等则交换元素。

public static int[] xuanZe(int[] array){
		//预先假设的最小元素的下标
		for(int i = 0; i< array.length;i++){
			int min_index = i;
			//选择出最小元素的下标
			for(int j = i+1;j<array.length;j++){
				if(array[min_index] > array[j]){
					//把小的元素下标与我定义的min_index进行交换
					min_index = j;
				}
			}
			//与我们预先假设的最下下标进行判断,不等,就进行交换
			if(min_index != i){
				int temp = array[min_index];
				array[min_index] = array[i];
				array[i] = temp;
			}
          }

  插入排序:

                  假设前n-1个元素都是有序的,将要插入的元素从后往前与有序数组比较,找出相应位置插入。

public static int[] chaRu(int[] array){
		//假设我们前n-1个元素是有序的
		for(int i = 1 ;i<array.length;i++){
			//从后面往前面进行插入元素
			for(int j = i;j>0;j--){
				if(array[j]<array[j-1]){
					int temp = array[j];
					array[j] = array[j-1];
					array[j-1] = temp;
				}
			}
			
		}
		return array;
	}





     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值