C++ 实现找出第 k 小数字的代码示例
以下是使用 C++ 实现找出第 `k` 小数字的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n, k; // 读取 n 和 k std::cin >> n >> k; std::vector<int> nums(n); // 读取 n 个数字 for (int i = 0; i < n; ++i) { std::cin >> nums[i]; } // 对数组进行排序 std::sort(nums.begin(), nums.end()); // 输出第 k 小的数字 std::cout << nums[k - 1] << std::endl; return 0; } ``` ### 代码解释: 1. **读取输入**:首先读取 `n` 和 `k`,分别表示数字的个数和要查找的第 `k` 小的数字。然后读取 `n` 个数字并存储在 `std::vector` 中。 2. **排序**:使用 `std::sort` 函数对存储数字的向量进行排序,排序后向量中的元素按升序排列。 3. **输出结果**:由于向量是从 0 开始索引的,所以第 `k` 小的数字在排序后的向量中的索引为 `k - 1`,将其输出。 ######[AI问答 | 332点数解答 | 2026-05-23 21:56:55]
相关提问
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)73
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)395
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)298
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)298
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)291
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)362
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)515
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)396
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)388
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)412
- C++ 破解数字游戏:找出数组添加全排列后相同数字最大数量(字节豆包 | 456点数解答 | 2025-02-27 18:56:24)300
- C++助力小小李老师:求解数组添加排列后最多相同数字数量(字节豆包 | 424点数解答 | 2025-03-01 14:46:52)243