📄 shellsort.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 + -