21xrx.com
2024-11-24 08:21:05 Sunday
登录
文章检索 我的文章 写文章
Java常用算法:介绍常用的两种算法
2023-06-22 00:09:29 深夜i     --     --
Java算法 常用算法 排序算法 查找算法 算法比较

在Java编程中,算法是必不可少的一环,因为优秀的算法可以大大提高程序的效率和运行速度。对于初学者来说,熟悉常用的算法可以让他们更好地理解程序的实现过程。本文将介绍Java常用的两种算法:冒泡排序和快速排序。

1. 冒泡排序

冒泡排序是一种简单的排序方法,其基本思想是不断交换相邻的两项,将大的数往后移,小的数往前移,直到排序完成。由于其实现简单,易于理解,因此常用于小数据量的排序任务。

以下是冒泡排序的实现方式:


public static void bubbleSort(int[] nums) {

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

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

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

        int temp = nums[j];

        nums[j] = nums[j+1];

        nums[j+1] = temp;

      }

    }

  }

}

2. 快速排序

快速排序是一种高效的排序算法,其基本思想是以一个基准值为标准,将任务拆分成两个子任务,一部分小于基准值,一部分大于基准值。通过递归实现对子任务的排序,最终得到完整排序结果。

以下是快速排序的实现方式:


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

  if (left < right) {

    int pivotIndex = partition(nums, left, right);

    quickSort(nums, left, pivotIndex - 1);

    quickSort(nums, pivotIndex + 1, right);

  }

}

private static int partition(int[] nums, int left, int right) {

  int pivot = nums[left];

  int i = left + 1;

  int j = right;

  while (i <= j) {

    while (i <= j && nums[i] < pivot) i++;

    while (i <= j && nums[j] > pivot) j--;

    if (i < j) {

      swap(nums, i, j);

      i++;

      j--;

    }

  }

  swap(nums, left, j);

  return j;

}

private static void swap(int[] nums, int i, int j) {

  int temp = nums[i];

  nums[i] = nums[j];

  nums[j] = temp;

}

以上是本文介绍的两种Java常用算法。无论是作为入门学习还是面试准备,掌握常用的算法都非常有必要。当然,在实际开发中,我们可能会使用更高级的算法,但了解基础算法的思想和实现方式,将有助于我们更好地理解和使用更高级的算法。

  
  

评论区

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