插入排序

插入排序

. . . . . .

定义

插入排序(Insertion sort)是一种简单直观的排序算法。它的工作原理为将待排列元素划分为「已排序」和「未排序」两部分,每次从「未排序的」元素中选择一个插入到「已排序的」元素中的正确位置。

稳定性

插入排序是一种稳定的排序算法。

时间复杂度

插入排序的最优时间复杂度为 O(n),在数列几乎有序时效率很高。

插入排序的最坏时间复杂度和平均时间复杂度都为 O(n^2)。

代码实现

#include <bits/stdc++.h>
using namespace std;
int a[10] = {0,5,4,3,2,1};
int main()
{
for(int i = 2;i <= 5;i++)
{
int i1 = a[i];
int j;
for(j = i - 1;j >= 1 && a[j] > i1;j--)
{
a[j + 1] = a[j];
}
a[j + 1] = i1;
}
for(int i = 1;i <= 5;i++) cout << a[i] << " ";
return 0;
}

. . . . . .

posted @   DomiSun  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
/* 点击爆炸效果*/
点击右上角即可分享
微信分享提示