21xrx.com
2024-12-23 12:20:18 Monday
登录
文章检索 我的文章 写文章
在编程中
2023-06-11 07:30:32 深夜i     --     --

在编程中,排序算法是一项非常常见的任务,它们能够帮我们以某种方式对一组数据进行排序。我个人使用的是Java排序算法,这些算法足以满足各种排序任务。

以下是三个常用的Java排序算法:

1. 冒泡排序:

冒泡排序算法是一种基础的排序算法。它通过依次比较列表中的相邻元素来排序。以下是Java代码示例:


public static void bubbleSort(int[] arr) {

  int temp;

  for(int i=0; i

    for(int j=0; j

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

      // swap elements

        temp = arr[j];

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

        arr[j+1] = temp;

      }

    }

  }

}

2. 插入排序:

插入排序算法是另一种基础排序算法。它通过将一个元素插入到已排序的元素列表中来实现排序。以下是Java代码示例:


public static void insertionSort(int[] arr) {

  int n = arr.length;

  for (int i = 1; i < n; i++) {

    int key = arr[i];

    int j = i - 1;

    while (j >= 0 && arr[j] > key) {

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

      j = j - 1;

    }

    arr[j + 1] = key;

  }

}

3. 快速排序:

快速排序算法是更高级的排序算法。它通过选择列表中的一个主元素并将其分割为小于主元素和大于主元素的两个子列表来实现排序。以下是Java代码示例:


public static void quickSort(int[] arr, int low, int high) {

  if (low < high) {

    int pivotIndex = partition(arr, low, high);

    quickSort(arr, low, pivotIndex - 1);

    quickSort(arr, pivotIndex + 1, high);

  }

}

public static int partition(int[] arr, int low, int high) {

  int pivot = arr[high];

  int i = (low - 1);

  for (int j = low; j <= high - 1; j++) {

    if (arr[j] < pivot) {

      i++;

      int temp = arr[i];

      arr[i] = arr[j];

      arr[j] = temp;

    }

  }

  int temp = arr[i + 1];

  arr[i + 1] = arr[high];

  arr[high] = temp;

  return (i + 1);

}

综上所述,这三种Java排序算法都非常有用,它们足以满足你的各种排序需求。如果你还不熟悉这些算法,那么赶快学习并开始命名排序算法任务吧!

标题:掌握Java排序算法:冒泡排序、插入排序、快速排序

  
  

评论区

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