插入排序详解

来源:互联网 发布:手机叫外卖软件 编辑:程序博客网 时间:2024/06/01 09:03

算法分析


     插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 

插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 

  图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。

   

Image(6)


代  码:

#include<iostream>

#include<cstdio>

#include<cstring>
using namespace std;
int a[101];
int main()
{int n,x,j;
   cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=2;i<=n;i++)
{
x=a[i];
j=i-1;
while (x<a[j])
        {
        a[j+1]=a[j];
        j--;
        }
a[j+1]=x;
}
for(int i=1;i<=n;++i )
cout<<a[i]<<" ";
cout<<endl;

}
//输入数据  8 36 25 48 12 65 43 20 58 

0 0
原创粉丝点击