插入排序(c++)
#include
using namespace std;
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
//插入排序
//若后面一个元素比其前面一个元素小,则将这两个元素交换位置
//,然后再来比较整个插入元素与前面一个元素的的大小,
//若还小,则还需要交换这两个元素的位置,
//一直到这个插入元素在正确的位置为止
void insertSort(int a[],int length)
{
for(int i=1;i<length;i++)
{
for(int j=i-1;j>=0&&a[j+1]<a[j];j–)
{
swap(a[j],a[j+1]);
}
}
}
int main()
{
int a[]={5, 6, 9, 2, 4, 1, 7, 8, 3};
insertSort(a,10);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
09-01
896
03-04
914