C++向量简单排序示例:从负数结尾输入

需积分: 36 17 下载量 76 浏览量 更新于2024-11-03 收藏 21KB DOC 举报
本篇代码示例展示了如何在C++中使用`std::vector`进行简单排序的过程。标题提到的"利用C++向量的简单排序"主要涉及以下几个关键知识点: 1. **向量(Vector)的使用**: C++的`<vector>`库提供了一种动态数组的实现,允许我们在运行时动态添加或删除元素。在这里,`vector<int> vector_var`定义了一个整数类型的向量。 2. **数据输入**: `fill_array`函数用于接收用户输入,用户可以输入一系列非负整数,直到输入一个负数作为终止标记。这展示了如何通过`cin`从用户那里获取数据并存储到向量中。 3. **排序算法**: 主要的排序功能由`sort`函数实现,它采用冒泡排序的思想。在`sort`函数内部,`index_of_smallest`函数用于找到剩余未排序部分中的最小值的索引。然后,通过调用`swap_values`函数,将当前元素与找到的最小元素交换位置,直到整个向量按升序排列。 4. **辅助函数**: - `index_of_smallest`函数:这是一个递归辅助函数,它查找剩余部分中的最小值。它接受一个起始索引、已使用的元素数量以及整个向量的大小作为参数。 - `swap_values`函数:这是一个简单的临时变量交换函数,用于在排序过程中临时交换两个元素的位置。 5. **主程序流程**: 在`main`函数中,首先调用`fill_array`填充向量,然后调用`sort`对向量进行排序,最后遍历并打印排序后的向量。 6. **输出结果**: 排序完成后,程序会显示按照升序排列的整数列表,直到遇到输入的负数为止。 这篇代码展示了如何在C++中使用向量进行基本的排序操作,并且通过实例演示了如何实现冒泡排序算法的一个简化版本。这对于理解C++容器的使用和基础排序算法实现是很有帮助的。