当前位置: 代码迷 >> 综合 >> 2021秋季《数据结构》_EOJ 1051.插入排序
  详细解决方案

2021秋季《数据结构》_EOJ 1051.插入排序

热度:25   发布时间:2023-12-10 19:46:42.0

题目

思路

正常插入排序,需要注意在每一趟比较中a[j - 1] > tmp需要写进for循环判断语句,以获取目标j的位置

代码

#include<bits/stdc++.h>
using namespace std;void insertionSort(int* a, int n)
{
    for (int p = 1; p < n; p++){
    int tmp = a[p];int j = p;for (; j >= 0 && a[j - 1] > tmp; j--){
    a[j] = a[j - 1];}//cout << j << endl;a[j] = tmp;for (int i = 0; i < n-1; i++)cout << a[i] << ' ';cout << a[n-1] << endl;}
}int main()
{
    int n; cin >> n;int* a = new int[n];for (int i = 0; i < n; i++)cin >> a[i];insertionSort(a, n);return 0;
};
  相关解决方案