21xrx.com
2025-03-31 15:19:45 Monday
文章检索 我的文章 写文章
算法的示例代码
2023-07-13 00:29:03 深夜i     --     --
算法 示例 代码 实现 案例

算法是程序设计中非常重要的一部分,可以应用在各种领域,如图形处理、网络安全、数据挖掘等等。在实际的编程工作中,我们需要掌握各种算法知识,并能快速地编写出高效的算法代码。

下面我们以常见的几个算法为例,来看看它们的示例代码。

1.冒泡排序

冒泡排序是一种简单的排序算法,通过多次交换相邻的元素来达到排序的目的。示例代码如下:

void bubbleSort(int arr[], int n) {
  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;
      }
    }
  }
}

2.快速排序

快速排序是一种高效的排序算法,基于分治策略来实现。它将一个数组分成两个子数组,再对两个子数组分别进行排序,递归地实现整个排序过程。示例代码如下:

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++;
      swap(arr[i], arr[j]);
    }
  }
  swap(arr[i + 1], arr[high]);
  return i + 1;
}
void quickSort(int arr[], int low, int high) {
  if (low < high) {
    int pi = partition(arr, low, high);
    quickSort(arr, low, pi - 1);
    quickSort(arr, pi + 1, high);
  }
}

3.二分查找

二分查找是一种常见的查找算法,也被称为折半查找。它通过将有序数组分成两半来查找目标值,如果比较中间元素和目标值的大小关系,则可以确定目标值在哪一半中并不断缩小查找范围。示例代码如下:

int binarySearch(int arr[], int low, int high, int target) {
  if (high >= low) {
    int mid = low + (high - low) / 2;
    if (arr[mid] == target)
      return mid;
    if (arr[mid] > target)
      return binarySearch(arr, low, mid - 1, target);
    return binarySearch(arr, mid + 1, high, target);
  }
  return -1;
}

以上就是几个常见算法的示例代码,通过学习和练习可以更好地掌握算法的思想和实现方式,并且提高编程技能。

  
  

评论区