21xrx.com
2024-12-23 00:42:36 Monday
登录
文章检索 我的文章 写文章
Java中常用的排序算法
2023-06-12 08:06:18 深夜i     --     --
Java排序算法 冒泡排序 选择排序 插入排序 快速排序

排序算法在编程语言中是非常重要的一部分,Java中有很多常见的排序算法,比如冒泡排序、选择排序、插入排序、快速排序等等。在本文中,我们将介绍Java中常用的排序算法及其代码案例。

1. 冒泡排序

冒泡排序是一种非常简单的排序算法,它的原理就是每次比较相邻的两个数,如果前一个数比后一个数大,则交换它们的位置。这样一直循环比较,直到所有的数都排好序。

代码案例:

public static void bubbleSort(int[] arr){

  int temp;

  for(int i=0; i

    for(int j=0; j

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

        temp = arr[j];

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

        arr[j+1] = temp;

      }

    }

  }

}

2. 选择排序

选择排序的原理是每次选择最小的数,然后把它放到最前面。接着在剩下的数中找到最小的数,放到已排序数列的后面。以此类推,直到所有的数排好序。

代码案例:

public static void selectionSort(int[] arr){

  int minIndex, temp;

  for(int i=0; i

    minIndex = i;

    for(int j=i+1; j

      if(arr[j]

        minIndex = j;

    }

    temp = arr[i];

    arr[i] = arr[minIndex];

    arr[minIndex] = temp;

  }

}

3. 插入排序

插入排序的原理是将一个数插入到已经排好序的数中,使得插入后的数列仍然有序。将未排序的数列的第一个元素插入到已排序数列的合适位置,然后再插入第二个元素……

代码案例:

public static void insertionSort(int[] arr){

  int temp, j;

  for(int i=1; i

    temp = arr[i];

    for(j=i-1; j>=0 && arr[j]>temp; j--){

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

    }

    arr[j+1] = temp;

  }

}

4. 快速排序

快速排序采用了一种分治策略,它的基本思想是选择一个基准数,将所有比它小的数放到它的左边,所有比它大的数放到它的右边。然后对左右两个子序列递归地进行快速排序,直到序列变成有序的。

代码案例:

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

  if(left

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

    while(i

      while(i =pivot) j--;

      if(i

      while(i

      if(i

    }

    arr[i] = pivot;

    quickSort(arr, left, i-1);

    quickSort(arr, i+1, right);

  }

}

  
  
下一篇: 了解 Java Servlet

评论区

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