21xrx.com
2024-11-08 21:16:48 Friday
登录
文章检索 我的文章 写文章
如何在Java中实现数组排序
2023-06-16 13:38:12 深夜i     --     --
Java

Java是于1995年由Sun Microsystems公司推出的一种面向对象编程语言,是一种高级的、成熟的、稳定的编程语言,常用于企业级应用开发和移动应用开发。而在中国,Java的应用也已经非常普遍,成为了广大程序员的首选语言之一。

在Java中实现数组排序非常简单,下面我将介绍两种常用的算法——冒泡排序和快速排序的Java实现。

冒泡排序

冒泡排序算法的实现思路是:每轮将相邻的两个元素进行比较,把大的元素往后移,直到最后一个元素。每轮比较将会少一次,直到所有元素有序。

代码如下:


public static void bubbleSort(int[] arr){

  int temp;

  for(int i = 0; i < arr.length - 1; i++){

    for(int j = 0; j < arr.length - 1 - i; j++){

      if(arr[j] > arr[j + 1]){

        temp = arr[j];

        arr[j] = arr[j + 1];

        arr[j + 1] = temp;

      }

    }

  }

}

快速排序

快速排序算法的实现思路是:取一个基准值(通常取数组第一个数),然后把比它小的数放在它左边,比它大的数放在它右边。对左右两个分区递归进行基准值的确定,直到每个分区的元素个数为1。

代码如下:


public static void quickSort(int[] arr, int left, int right){

  if(left < right){

    int i = left, j = right, temp = arr[left];

    while(i < j){

      while(i < j && arr[j] >= temp)

        j--;

      if(i < j)

        arr[i++] = arr[j];

      while(i < j && arr[i] < temp)

        i++;

      if(i < j)

        arr[j--] = arr[i];

    }

    arr[i] = temp;

    quickSort(arr, left, i - 1);

    quickSort(arr, i + 1, right);

  }

}

接下来,我们可以通过一个main函数对上面的两个方法进行测试:


public static void main(String[] args){

  int[] arr = {5,2,8,1,3,9};

  System.out.println("排序前:");

  for(int num : arr){

    System.out.print(num + " ");

  }

  System.out.println();

  bubbleSort(arr);//或调用quickSort(arr, 0, arr.length - 1);

  System.out.println("排序后:");

  for(int num : arr){

    System.out.print(num + " ");

  }

}

输出结果为:


排序前:

5 2 8 1 3 9

排序后:

1 2 3 5 8 9

以上就是Java中实现数组排序的两种算法,希望对大家有所帮助。

数组排序, 冒泡排序, 快速排序

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复