Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
108917 | 彭士宝 | 打印每一趟插入排序 | C++ | Accepted | 1 MS | 276 KB | 837 | 2025-01-23 16:09:14 |
#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; // 将 arr[i] 插入到正确的位置 while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; // 打印每一趟排序的结果 for (int k = 0; k < n; ++k) { cout << arr[k] << " "; } cout << endl; } } int main() { int N; cin >> N; // 读取整数N vector<int> arr(N); // 创建数组存储N个整数 for (int i = 0; i < N; ++i) { cin >> arr[i]; // 读取每个整数 } insertionSort(arr); // 调用插入排序函数 return 0; }