21xrx.com
2024-12-23 00:54:43 Monday
登录
文章检索 我的文章 写文章
Java基础排序算法及示例代码
2023-06-14 07:48:40 深夜i     --     --
Java基础 排序算法 代码示例

我最近在复习Java基础知识时遇到了排序算法的问题。在这篇文章中,我将分享我对基础排序算法的理解,并附带代码示例。希望能为正在学习Java的人提供一些帮助。

常见的基础排序算法包括插入排序、冒泡排序、选择排序。我先从插入排序说起。插入排序的基本思想是将未排序区间的第一个元素插入到已排序区间的适当位置,重复这个过程直到所有元素有序。

以下是插入排序的Java代码示例:


public static void insertSort(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--;

    }

    arr[j + 1] = key;

  }

}

接下来是冒泡排序。冒泡排序的基本思想是不断比较相邻的两个元素,如果它们顺序不对就交换位置,直到所有元素有序。

以下是冒泡排序的Java代码示例:


public static void bubbleSort(int[] arr) {

  int n = arr.length;

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

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

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

        int temp = arr[j];

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

        arr[j + 1] = temp;

      }

    }

  }

}

最后是选择排序。选择排序的基本思想是将未排序区间的最小元素和已排序区间的最后一个元素交换位置,重复这个过程直到所有元素有序。

以下是选择排序的Java代码示例:


public static void selectSort(int[] arr) {

  int n = arr.length;

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

    int minIndex = i;

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

      if(arr[j] < arr[minIndex])

        minIndex = j;

      

    }

    int temp = arr[i];

    arr[i] = arr[minIndex];

    arr[minIndex] = temp;

  }

}

以上就是我对Java基础排序算法的理解和代码示例。希望能对大家有所帮助。

  
  

评论区

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