21xrx.com
2024-06-03 01:29:29 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;

}

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

  
  

评论区

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