C++冒泡排序算法实现及代码详解
以下是将Java代码改为C++的示例: ```cpp #include <iostream> #include <vector> // 冒泡排序函数 void bubbleSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; ++i) { for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) { // 交换元素 std::swap(arr[j], arr[j + 1]); } } } } // 打印数组函数 void printArray(const std::vector<int>& arr) { for (int val : arr) { std::cout << val << " "; } std::cout << std::endl; } int main() { std::vector<int> arr = {64, 34, 25, 12, 22, 11, 90}; std::cout << "排序前数组: "; printArray(arr); bubbleSort(arr); std::cout << "排序后数组: "; printArray(arr); return 0; } ``` ### 🚀 C++代码说明 - 使用`std::vector`替代Java的数组,动态管理内存 - 包含`<iostream>`用于输入输出,`<vector>`用于动态数组 - 使用`std::swap()`函数实现元素交换,避免手动临时变量 - 函数参数使用引用(`&`)避免拷贝,提高性能 ### ⚠️ 开发注意要点 - C++需要手动管理内存,使用vector可自动处理 - 注意头文件包含,C++标准库头文件不带`.h`后缀 - 使用`std::`命名空间前缀避免命名冲突 - 循环变量建议使用`size_t`类型,避免有符号/无符号比较警告 ######[AI问答 | 430点数解答 | 2026-05-15 19:35:31]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)386
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)261
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)356
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)505
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)391
- Python切片操作巧解经典算法:二维数组90°旋转(阿里通义 | 205点数解答 | 2023-10-31 11:05:29)354
- 揭秘iOS开发:常用算法大集合,提升应用性能与体验!(阿里通义 | 246点数解答 | 2023-11-08 00:43:08)305
- 深入解析:Vue2.x与Vuex3.x渲染器的Diff算法奥秘(阿里通义 | 222点数解答 | 2023-11-09 01:35:41)382
- 突破 long 范围限制:用 BigInteger 类实现超大数字竖式乘法运算( | 555点数解答 | 2024-03-17 10:56:49)383
- 超范围数字乘法:字符串转数组+模拟竖式运算的实现攻略( | 377点数解答 | 2024-03-17 10:58:21)381
- Java 实现:突破 long 范围限制,模拟竖式运算处理大数字乘法( | 14点数解答 | 2024-03-17 10:58:39)358
- Java实现:突破long范围限制,模拟人工竖式运算大数字乘法( | 1022点数解答 | 2024-03-17 10:59:43)365