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

📄 shellsort.txt

📁 编译系统: Visual C++ 6.0 操作系统: Windows 2000/XP 这几个程序对于学习和理解数据结构有很大的帮助。
💻 TXT
字号:
/*  输入若干个国家名,按照字典顺序将这写国名排序
    要求:
	     所有国名全用大写或小写,要求用Shell排序算法
    测试数据 :SINGAPORE  SWEDEN KOREA NETHRLANDS CHINA BRITAIN POLAN    */


#include<stdio.h>
#include<string.h>
#include<conio.h>

void main()
{
	printf("----------------用Shell排序对字符串按字典顺序排序(2005/03/04)------------------\n\n\n");
	char a[7][20]={  "SINGAPORE",
					 "SWEDEN",
					 "KOREA",
					 "NETHERLANDS",
					 "CHINA",
					 "BRITAIN",
					 "POLAND"      };   //定义一个二维数组,用来保存要比较的几个单词

	printf("排序前的几个单词是:\n");   //输出
	for(int i=0; i<7; i++)
		printf("\t%s\n",a[i]);
	printf("\n\n");


/*-------------------Shell排序---------------------------------------*/
	int n=7;      //单词的个数
	int h=n/2;
	char temp[20];
	while(h >= 1)
	{
		for(int i=h; i<n; i++)
		{
			strcpy(temp,a[i]);
			
			int j=i;
			while(j >= h   &&   strcmp(temp, a[j-h]) < 0 )
			{
				strcpy(a[j],a[j-h]);
				j-=h;
			}
			strcpy(a[j],temp);
		}
		h/=2;
	}
/*-------------------Shell排序---------------------------------------*/


	printf("按字典顺序排序以后的几个单词是:\n");  //输出
	for(i=0; i<7; i++)
		printf("\t%s\n",a[i]);

	_getch();
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -