#include <iostream>
using namespace std;
//插入排序
void insertSort(int* arr,int n)
{
int i,j,t;
for(i = 1;i<n;i++)
{
t = arr[i];
for(j=i;t<arr[j-1]&&j-1>=0;j--)
arr[j] = arr[j-1];
arr[j] = t;
}
}
void shellSort(int* arr,int n)
{
int gap = n/2;
while (gap>=1)
{
int i,j,t;
for(i = gap;i<n;i++)
{
t = arr[i];
for(j=i;t<arr[j-gap]&&j-gap>=0;j-=gap)
arr[j] = arr[j-gap];
arr[j] = t;
}
gap = gap/2;
}
}
void displayArr(int* arr,int n)
{
for(int i = 0;i<n;i++)
{
printf("%d\n",arr[i]);
}
}
int main()
{
int arr[10]={1,3,5,7,9,2,4,6,8,10};
shellSort(arr,10);
displayArr(arr,10);
cout << "Hello World!" << endl;
return 0;
}
希尔排序和插入排序
最新推荐文章于 2024-04-24 16:23:58 发布