体验百度文心一言AI模型生成插入排序C++版

以下是C++实现的插入排序代码:

#include <iostream>
#include <vector>

using namespace std;

void insertionSort(vector<int>& arr) {
    
    
    int n = arr.size();
    for (int i = 1; i < n; i++) {
    
    
        int key = arr[i];
        int j = i - 1;
        while (j >= 0 && arr[j] > key) {
    
    
            arr[j + 1] = arr[j];
            j--;
        }
        arr[j + 1] = key;
    }
}

int main() {
    
    
    vector<int> arr = {
    
    5, 3, 8, 6, 2, 7, 1, 4};
    insertionSort(arr);
    for (int i = 0; i < arr.size(); i++) {
    
    
        cout << arr[i] << " ";
    }
    cout << endl;
    return 0;
}
  • 在这个代码中,insertionSort函数使用了一个循环来遍历整个数组,对于每个位置,它都会将该位置的元素插入到它前面已经排好序的子数组中。具体来说,它首先将当前位置的元素保存在key变量中,然后将当前位置的前一个位置往前遍历,如果发现前一个位置的元素比key大,就将前一个位置的元素向右移动一位,直到找到一个不大于key的位置,然后将key插入到该位置后面。最后,main函数定义了一个整型向量arr,并调用insertionSort函数对其进行排序,然后输出排序后的结果。
1 2 3 4 5 6 7 8

开发工具:百度文心一言
CLion

猜你喜欢

转载自blog.csdn.net/m0_38127487/article/details/132201971