二级标题
正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容
三级标题
正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容
四级标题
正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容
二级标题
正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容
代码块
#include <iostream>
#include <vector>
using namespace std;
// 冒泡排序函数
void bubbleSort(vector<int>& arr) {
int n = arr.size();
bool swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
swap(arr[j], arr[j + 1]);
swapped = true;
}
}
// 如果没有发生交换,说明数组已经有序
if (!swapped)
break;
}
}
// 打印数组元素
void printArray(const vector<int>& arr) {
for (int num : arr)
cout << num << " ";
cout << endl;
}
int main() {
vector<int> arr = {64, 34, 25, 12, 22, 11, 90};
cout << "排序前的数组: ";
printArray(arr);
bubbleSort(arr);
cout << "排序后的数组: ";
printArray(arr);
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
// 方法1: 递归(无优化)- 时间复杂度 O(2ⁿ)
int fib_recursive(int n) {
if (n <= 1) return n;
return fib_recursive(n-1) + fib_recursive(n-2);
}
// 方法2: 带备忘录的递归(自顶向下)- 时间复杂度 O(n)
int fib_memo(int n, vector<int>& memo) {
if (n <= 1) return n;
if (memo[n] != -1) return memo[n];
memo[n] = fib_memo(n-1, memo) + fib_memo(n-2, memo);
return memo[n];
}
// 方法3: 迭代(自底向上)- 时间复杂度 O(n),空间复杂度优化至 O(1)
int fib_iterative(int n) {
if (n <= 1) return n;
int prev = 0, curr = 1;
for (int i = 2; i <= n; i++) {
int next = prev + curr;
prev = curr;
curr = next;
}
return curr;
}
int main() {
int n = 10;
// 测试递归方法
cout << "递归方法: " << fib_recursive(n) << endl;
// 测试带备忘录的递归方法
vector<int> memo(n+1, -1);
cout << "带备忘录的递归: " << fib_memo(n, memo) << endl;
// 测试迭代方法
cout << "迭代方法: " << fib_iterative(n) << endl;
return 0;
}
列表
无序列表
- 列表第一项
第一项下的内容第一项下的代码块
- 列表第二项
有序列表
- 第一项
第一项内容代码块
- 第二项