插入排序

插入排序

. . . . . .

定义

插入排序(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 @ 2024-09-22 22:59  DomiSun  阅读(61)  评论(0)    收藏  举报
/* 点击爆炸效果*/