c++插入排序

原理视频:

c++插入排序_第1张图片

核心思想:插入排序(英语:Insertion sort)是一种简单直观的排序算法。它的工作原理为将待排列元素划分为“已排序”和“未排序”两部分,每次从“未排序的”元素中选择一个插入到“已排序的”元素中的正确位置。与插入排序类似的例子就像是打牌,每拿到一张牌,就将其插入到正确的位置。

基本性质

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

插入排序的最优时间复杂度为n,在数列几乎有序时效率很高。 插入排序的最坏时间复杂度和平均时间复杂度都为n平方级别

#include
using namespace std;
int a[20];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for (int i=2; i<=n;i++) 
	{
    	int f=a[i];
    	int j=i-1;
    	while (j>0 && a[j]>f) 
		{
      		a[j+1]=a[j];
      		j--;
    	}
    	a[j+1]=f;
  	}
  	for(int i=1;i<=n;i++)
  	{
  		cout<

c++插入排序_第2张图片

c++插入排序_第3张图片

你可能感兴趣的:(排序算法,c++,开发语言)