~~~笔锋至此又怎能平淡而终,故事开始便不承认普通✌✌✌
✌ 题目及题解持续更新中
【2023王道数据结构目录】课后算法设计题C、C++代码实现完整版大全
题目: 通过C++实现插入排序(线性有序表STL容器)
运行截图:
代码实现:
#include#include using namespace std; void Insert_Sort(vector &v) { // 由于数组中有n个值,所以需要执行n-1轮,将n-1个元素进行插入 for (int i = 1; i < v.size(); i++) { int temp = v[i]; // 保存当前待插入的值 // 只有当前的值小于前面已经排序好的最后一个值才进行插入,否则不动 if (temp < v[i - 1]) { int j; // 将所有大于当前待插入的值向后移动一位,从i-1位置开始向前寻找,只要大于的,等于的不移动,保证稳定性 for (j = i - 1; temp < v[j] && j >= 0; j--) { v[j + 1] = v[j]; } // 找到待插入位置,将待插入的元素插入,因为此时j位置的值已经小于等于待插入的值 v[j + 1] = temp; } } } void PrintArray(vector v) { for (vector ::iterator it = v.begin(); it != v.end(); it++) { cout << *it << 't'; } cout << endl; } int main() { vector v = {1, 2, 3, 8, 5, 6, 7}; cout << "排序前:" << endl; PrintArray(v); Insert_Sort(v); cout << "排序后:" << endl; PrintArray(v); }



