排序
头文件和主函数
#include<iostream>
using namespace std;
int main()
{
int arr[10] = {
1,9,5,98,639,8,9,912,63,75};
// 排序函数 InsertionSort(arr,10);
for(int i=0;i<10;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
1.直接插入
void InsertionSort(int *a, int len)
{
for (int j=1; j<len; j++)
{
int key = a[j];
int i = j-1;
while (i>=0 && a[i]>key)
{
a[i+1] = a[i];
i--;
}
a[i+1] = key;
}
}
2.希尔排序
void ShellSort(int *a, int len)
{
int h = 1;
while( h<len )
h = 3*h + 1;
while( h>0 )
{
for (int j=h; j<len; j++)
{
int key = a[j];
int i = j-h;
while( i>=0 && a[i]