C++ 算法教程

C++ 是一种广泛应用于系统/应用软件、游戏开发、客户端/服务器应用、嵌入式系统等领域的编程语言。算法是编程的核心,本教程将为您介绍 C++ 中的一些常见算法。

常见算法介绍

  1. 排序算法

    • 冒泡排序
    • 选择排序
    • 插入排序
    • 快速排序
    • 归并排序
  2. 搜索算法

    • 线性搜索
    • 二分搜索
  3. 动态规划

    • 最长公共子序列
    • 最长递增子序列
  4. 图算法

    • 深度优先搜索(DFS)
    • 广度优先搜索(BFS)
    • 最短路径算法(Dijkstra、Floyd)

实例代码

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

#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++ 算法的知识,可以访问本站的 C++ 算法进阶教程

C++ 算法