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));
}
}
结果
二、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));
}
}
结果
三、冒泡排序法
定义
冒泡排序 :(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;
}
}
}
}
}
结果
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;
}
}
}
}
}
执行效果
原文作者:super_.
原文地址: https://blog.csdn.net/super_DuoLa/article/details/121938151
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/super_DuoLa/article/details/121938151
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章