📄 shellsort.c
字号:
#include <stdio.h>
#include "buildarray.c"
#include "sort.h"
unsigned long int compare=0,move=0;
void ShellSort(int *p,int n)
{
int i,j,count=0;
int temp,increment;
for(increment=n/2;increment>0;increment/=2){
for(i=increment;i<n;i++){
temp=*(p+i);
move++;
for(j=i;j>=increment;j-=increment){
if(temp<*(p+j-increment)){
*(p+j)=*(p+j-increment);
move++;
}
else{
compare++;
break;
}
}
*(p+j)=temp;
move++;
}
}
printf("the queue sorted by shellsort is:\n");
for(i=0;i<n;i++){
printf("%d ",*(p+i));
count++;
if(count%10==0)
printf("\n");
}
}
main()
{
//int Queue[13]={81,94,11,96,12,35,17,95,28,58,41,75,15};
ShellSort(BuildArray(),NUM);
//ShellSort(Queue,13);
printf("ShellSort compare=%ld,move=%ld",compare,move);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -