java数组排序方法

对数组内容进行排序

  • 2种方式
  • 一、Arrays.sort(数组)
      • 语法
      • 示例
      • 结果
  • 二、Arrays.sort(数组)的拓展
      • 语法
      • 示例
      • 结果
  • 三、冒泡排序法
      • 定义
      • 特点
      • 示例
      • 结果

2种方式

一、Arrays.sort(数组)

语法

Arrays的sort()方法,直接进行排序,Arrays.sort(数组)

示例

package com.test.main;

import java.util.Arrays;
/*
 * 给数组内数据排序
 */
public class TestArray {
	public static void main(String[] args) {
	  int[]	nums =new int[]{15,5,7,90,87,34};
	  //以数组的形式输出内容
      System.out.println("初始值:"+Arrays.toString(nums));
	  //快速排序:最简单的Array.sort,直接进行排序:
	  Arrays.sort(nums);
	  System.out.println("sort结果:"+Arrays.toString(nums));
	}
}

结果

java数组排序方法_第1张图片

二、Arrays.sort(数组)的拓展

语法

Arrays.sort(数组, 开始下标, 结束下标-1);
下标包前不包后:即如果你想要排序下标0到下标2的元素,那么你的最后一个下标得是3,才符合3-1=2,如下所示

示例

package com.test.main;

import java.util.Arrays;
/*
 * 给数组内数据排序
 */
public class TestArray {
	public static void main(String[] args) {
	  int[]	nums =new int[]{15,5,7,90,87,34};
	  //以数组的形式输出内容
      System.out.println("初始值:"+Arrays.toString(nums));
	  //部分数据排序
	  Arrays.sort(nums, 1, 3-1);
	  System.out.println("排序下标1-下标(3-1)的位置位元素的结果:"+Arrays.toString(nums));
	}
}

结果

java数组排序方法_第2张图片java数组排序方法_第3张图片

三、冒泡排序法

定义

冒泡排序 :(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

特点

从最后一个元素开始比较,双层循环

示例

package com.test.main;

import java.util.Arrays;
/*
 * 给数组内数据排序
 */
public class TestArray {
	public static void main(String[] args) {
	  int[]	nums =new int[]{15,5,7,90,87,34};
	  //以数组的形式输出内容
      System.out.println("初始值:"+Arrays.toString(nums));
      bubble(nums);
	  System.out.println("冒泡结果:"+Arrays.toString(nums));
	}
	//冒泡排序
	private static void bubble(int[] arr) {
		int temp;
        //根据下标进行比较
        for(int i = 0; i<arr.length; i++){
            //j是数组中最后一个元素的下标
            for (int j = arr.length-1; j > i; j--) {
                if (arr[j] < arr[j - 1]) {
                    //从后往前进行比较,数值小的往前,一轮之后最小数就在最前面了
                    temp = arr[j - 1]; 
                    arr[j - 1] = arr[j]; 
                    arr[j] = temp; 
                }
            }
        }
	}
}

结果

java数组排序方法_第4张图片
PS:总结
全部代码

package com.test.main;

import java.util.Arrays;

/*
 * 给数组内数据排序
 */
public class TestArray {
	public static void main(String[] args) {
	  int[]	nums =new int[]{15,5,7,90,87,34};
	  int[]	nums1=new int[]{15,5,7,90,87,34};
	  int[]	nums2=new int[]{15,5,7,90,87,34};
	  //以数组的形式输出内容
      System.out.println("初始值:"+Arrays.toString(nums));
	  //1、快速排序:最简单的Array.sort,直接进行排序:
	  Arrays.sort(nums);
	  System.out.println("sort结果:"+Arrays.toString(nums));
	  
	  //2、拓展:部分数据排序
	  Arrays.sort(nums1, 0, 3);
	  System.out.println("排序下标1-下标(3-1)的位置位元素的结果:"+Arrays.toString(nums1));

	  //3、冒泡排序  从最后开始排序
	   bubble(nums2);
	   System.out.println("冒泡结果:"+Arrays.toString(nums2));
	}
	
	//冒泡排序法
	public static void bubble(int[] arr){
        int temp;
        //根据下标进行比较
        for(int i = 0; i<arr.length; i++){
            //j是数组中最后一个元素的下标
            for (int j = arr.length-1; j > i; j--) {
                if (arr[j] < arr[j - 1]) {
                    //从后往前进行比较,小数往前,一轮之后最小数就在最前面了
                    temp = arr[j - 1]; 
                    arr[j - 1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
}

执行效果
java数组排序方法_第5张图片

你可能感兴趣的:(Java,常见面试题,java,排序算法,Arrays的sort方法,冒泡排序法)