zoukankan      html  css  js  c++  java
  • 常见的几种数组排序方法

    1.选择排序:从数组空间中选择第一个空间然后和其他空间中的数据进行比较,如果要求升序排列,那么选择的这个空间中的数据和其他空间中的数据比较完之后将最小的数据和当前的第一个空间中的数据进行互换位置。然后再选择第二个空间中的数据和除第一个空间中的数据进行比较,同样找出最小的数据,将两个空间中的数据的位置互换。后面的数据以此类推,一直到将所有的数据变成从小变大的数据为止。如果将数据进行降序排列,方法相反。

    public class Demo {
    	public static void main(String[] asadscgs) {
    
    		int[] arr = { 23, 12, 48, 56, 45 };
    		for (int i = 0; i < arr.length; i++) {
    			int tem = i;
    			for (int j = i; j < arr.length; j++) {
    				if (arr[j] < arr[tem]) {
    					tem = j;
    				}
    			}
    			int temp1 = arr[i];
    			arr[i] = arr[tem];
    			arr[tem] = temp1;
    		}
    		System.out.println(Arrays.toString(arr));
    	}
    }
    

    2.冒泡排序:

    public class Demo {
    	public static void main(String[] asadscgs) {
    
    		int[] arr = { 23, 12, 48, 56, 45 };
    		int temp = -1;
    		for (int i = 0; i < arr.length; i++) {
    			for (int j = i + 1; j < arr.length; j++) {
    				if (arr[i] > arr[j]) {
    					temp = arr[i];
    					arr[i] = arr[j];
    					arr[j] = temp;
    				}
    			}
    		}
    		System.out.println(Arrays.toString(arr));
    	}
    
    }
    

    3.反转排序:

    public class Demo {
    	public static void main(String[] asadscgs) {
    
    		int[] arr = { 23, 12, 48, 56, 45 };
    		for (int i = 0; i < arr.length / 2; i++) {
    			int temp = arr[i];
    			arr[i] = arr[arr.length - i - 1];
    			arr[arr.length - i - 1] = temp;
    		}
    		System.out.println(Arrays.toString(arr));
    	}
    }
    

    4.常用操作:

    public class Demo {
    	public static void main(String[] asadscgs) {
    
    		int[] arr = { 45, 34, 53, 43 };
    		Arrays.sort(arr); // 对数组进行排序(从小到大)
    		System.out.println(Arrays.toString(arr));
    
    		// 二分搜索法(使用之前需要先排序)
    		int i = Arrays.binarySearch(arr, 34);
    		System.out.println(i);
    		int[] newArr = Arrays.copyOf(arr, 7);
    		int[] newArr1 = Arrays.copyOfRange(arr, 1, 3);
    		System.out.println(Arrays.toString(newArr));
    		System.out.println(Arrays.toString(newArr1));
    
    		int j = Arrays.binarySearch(arr, 1, 3, 34);
    		System.out.println(j);
    	}
    }
    

      

  • 相关阅读:
    oracle重新学习,主要是命令实用,有借鉴其他人博客
    cdn缓存立刻刷新
    python3发送需要双向认证的wss请求
    【2021.08.03】平等交流
    【2021.07.31】正面回应才是面对挑战的最好方式
    【2021.07.28】向晚
    【2021.07.25】过个生日
    【2021.07.17】Asoul——那些无法杀死我的,终会使我变得更加强大
    phaser3微信小游戏2
    eve-ng 配置apache2的虚拟目录
  • 原文地址:https://www.cnblogs.com/JiangNian/p/8406099.html
Copyright © 2011-2022 走看看