0
点赞
收藏
分享

微信扫一扫

DS排序--直接插入排序

勇敢乌龟 2022-01-13 阅读 148
#include <iostream>
using namespace std;

//输出每趟排序结果
void show(int arr[], int size)
{
    for (int k = 0; k < size; k++)
    {
        cout << arr[k] << " ";
    }
    cout << endl;
}

//使用直接插入排序算法进行降序排序
void Straight_Insertion_Sort(int arr[], int size)
{
    for (int i = 1; i < size; i++)
    {
        for (int j = i; j > 0 && arr[j] > arr[j - 1]; j--)
        {
            arr[j] ^= arr[j - 1];
            arr[j - 1] ^= arr[j];
            arr[j] ^= arr[j - 1];
        }
        show(arr, size);
    }
}

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int size;
        cin >> size;
        int *arr = new int[size + 1];
        for (int i = 0; i < size; i++)
        {
            cin >> arr[i];
        }
        Straight_Insertion_Sort(arr, size);
    }
    return 0;
}
举报

相关推荐

0 条评论