插入排序

来源:互联网 发布:考务管理系统软件java 编辑:程序博客网 时间:2024/04/29 06:42

插入排序是一直最直接的排序方法,其基本思想在于每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,知道全部记录查完为止。其时间复杂度为

O(n^2),空间复杂度为O(1).具有稳定性


#include<iostream>using namespace std;void InsertSort(int *data,int len){if(data==NULL||len<=0)return;for(int i=1;i<len;i++){int t=data[i];int j=i-1;while(j>=0&&data[j]>t){data[j+1]=data[j];j--;}data[j+1]=t;}}void main(){int data[]={49,38,65,97,76,13,27,49,55,4};int len=sizeof(data)/sizeof(int);InsertSort(data,len);for(int i=0;i<len;i++)cout<<data[i]<<" ";cout<<endl;}

0 0