C++ 算法是编程中非常重要的一部分,它涉及到数据结构和算法的应用。以下是一些常用的 C++ 算法及其应用场景。

常见算法

  • 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序等。
  • 搜索算法:线性搜索、二分搜索等。
  • 动态规划:解决最优化问题的方法,如背包问题、最长公共子序列等。
  • 图算法:深度优先搜索、广度优先搜索、最小生成树、最短路径等。

示例代码

以下是一个使用快速排序算法的示例:

#include <iostream>
#include <vector>

void quickSort(std::vector<int>& arr, int left, int right) {
    if (left >= right) return;

    int i = left, j = right;
    int pivot = arr[(left + right) / 2];

    while (i <= j) {
        while (arr[i] < pivot) i++;
        while (arr[j] > pivot) j--;
        if (i <= j) {
            std::swap(arr[i], arr[j]);
            i++;
            j--;
        }
    }

    quickSort(arr, left, j);
    quickSort(arr, i, right);
}

int main() {
    std::vector<int> arr = {3, 6, 8, 10, 1, 2, 1};
    quickSort(arr, 0, arr.size() - 1);

    for (int num : arr) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

扩展阅读

更多关于 C++ 算法的教程,请访问本站算法教程

图片

排序算法