您的位置:首页 > 其它

希尔排序

2015-11-10 21:26 134 查看


代码如下:

#include<iostream>

using namespace std;

void shell_sort(int arr[], int n)
{
int flag,i,j,length = n;
while (length > 1)
{
length = length / 2;
do{
flag = 0;
for (i = 0; i < n - length; i++)
{
j = i + length;
if (arr[i]>arr[j])
{
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
flag = 1;
}
}
} while (flag == 1);
}
}
void main()
{
int arr[] = { 3, 5, 4, 6, 2, 8, 7, 9,1,10 };
int n = sizeof(arr) / sizeof(int);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;

shell_sort(arr,n);
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;

system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: