java数组排序方法

对数组内容进行排序

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数组排序方法》

二、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数组排序方法》《java数组排序方法》

三、冒泡排序法

定义

冒泡排序 :(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数组排序方法》
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数组排序方法》

    原文作者:super_.
    原文地址: https://blog.csdn.net/super_DuoLa/article/details/121938151
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞