希尔排序
希尔排序
// 希尔排序.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<stdio.h>
#include<windows.h>
void main()
{
int data[11] = {0,75,23,98,44,57,12,29,64,38,82};
int i, j, k, incr, temp;
printf("\n<<Shell sort>>\n");
printf("\nNumber:");
for (i = 1; i <= 10; i++)
printf("%d ",data[i]);
puts("");
for (i = 0; i < 60; i++) printf("-");
incr = 10 / 2;
while (incr>0)
{
for (i = incr + 1; i <= 10; i++)
{
j = i - incr;
while (j>0)
if (data[j] > data[j + incr])//比较每部分的数据
{//大小顺序不对则交换
temp = data[i];
data[j] = data[j + incr];
data[j + incr] = temp;
j = j - incr;
}
else
j = 0;
}
printf("\nAccess:");
for (k = 1; k <= 10; k++)
printf("%d ",data[k]);
incr = incr / 2;
}
puts("");
for (i = 0; i < 60; i++) printf("-");
printf("\nSorting:");
for (i = 1; i < 10; i++)
printf("%d ",data[i]);
printf("\n");
system("pause");
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。