⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shellsort.c

📁 希尔排序
💻 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 + -