其实真心觉得这些排序算法没有什么区别的啦。但是还是练习练习比较好~
接着上一次文的文风,还是看的算法笔记(胡凡)。
先PO一下思想:
其实很好理解的嘛是不是,不就是不断地把一个数组中的元素,未排序的元素不断插入到已成功排序的队列之中咯~
自己写的代码。Po一下咯。(第一次写的时候真的写成了冒泡排序,这几个排序真的太像了啊,我写着写着就成了另一个【扑街】)
#include<iostream>
using namespace std;
//插入排序---降序
//写成了一个冒泡 = =
//修改了之后的插入排序
#define Max 100
int main()
{
int a[]={33,25,47,23,8,13,68};//输入数组
int length;
length=7;
int i,k,j;
for(i=1;i<length;i++)
{ int temp,k;//存放a[i];
temp=a[i];
j=i;
while(j>=1&&temp<a[j-1])//只要temp小于前一个元素
{
a[j]=a[j-1];
j--;
}
a[j]=temp;//被插入的地方为temp
}
for(i=0;i<length;i++)
cout<<a[i]<<" ";
return 0;
}
结果是这样子滴~下篇再见!