• 常见的几种数组排序方法


    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);
    	}
    }
    

      

  • 相关阅读:
    bzoj 1030: [JSOI2007]文本生成器
    hdu 2222 Keywords Search
    poj 2406 Power Strings
    poj 2752 Seek the Name, Seek the Fame
    ASP.NET中WebForms简介与搭建HelloWorld项目
    VisualStudio2017中新建项目没有Asp.Net项目
    C#中导出百万级Excel只需几秒除了NPOI还可以这样
    Winform中实现双击Dev的TreeList在ZedGraph中生成对应颜色的曲线
    Winform中设置ZedGraph在生成多条曲线时随机采用不同的颜色
    DevExpress的TreeList实现自定义节点NodeCell的背景颜色和前景色
  • 原文地址:https://www.cnblogs.com/JiangNian/p/8406099.html
Copyright © 2020-2023  润新知