C语言中说的按字典顺序是什么意思???

供稿:hz-xin.com     日期:2025-01-13
C语言中字典排序是什么意思

按照字典的顺序
即按照字母表的顺序,由A-Z
如 Aaa 在Baa之前 , Aaa在Aab之前
同理,Aa在Aaaaa之前(一个为另一个前缀时,短的靠前)

#include #include int main(){char str[80][80];int i=0;while(1){ gets(str[i]);if(!strcmp("END",str[i])){break;} i++;}int j=0,k=0;for(j=0;j0){char *tmp=NULL;strcpy(tmp,str[i]);strcpy(str[i],str[j]);strcpy(str[j],tmp);}}for(j=0;j<i;j++)//printf("%s",str[j]);puts(str[j]); return 0;}

就是说,将多个字符串的同一位置的字符按照26个字母的顺序进行比对。a最小,z最大。

a < b;

aa < ab;  因为第二位置上,前面字符串是a,后面字符串是b,所以是小于关系,以此类推。



字典序这个东东的来历用我们查阅字典的经验来解释一定是最合适不过了...谁也不想..在一个混乱编辑的字典里面查一个字..(- -不知道 有这样的字典么...)
这个...如果手边有英文字典的话会更好...英文字典是没有检字表的...总是可以按现在翻页面确定所要找的那个单词在前面还是后面......
不知道小时侯大家有没有在书的侧页写过名字和班级......写在那里的字会有一种朦胧的感觉...
如果您的字典够厚实的话...侧页也一定会有加深的标签...如果再厚一点的话...标签里可以写下A,B,C,D..如果更厚重一点的书...(我唯一见
过的一本是...某超级化学手册..第78版..)会在侧页的位置压出标签...
(...记得中考的时候...政治历史开卷...家人曾经在每本课本的章节的位置贴上商店里用作价格标签的小纸条...嘿嘿...)
对于类似字典这样需要经常进行检索的东西...字典序的发明是很自然的...
人们为了可以找到单词所在的位置...需要可以通过它的第一个字母就迅速确定它在书哪一块...再根据第二个字母...再缩小这个范围..
(其实我们不一定会用上每一个字母...只要限制的范围很小就很好...)
这样..一个英文单词可以算是一个字符串...(很多情况下我们可以直接对字符串进行比较....这个时候用到的就是字典序了..)
汉语字典还是不太一样的额...通常里头会有两种检字表...前面是拼音..后面用的是部首...后面这个还比较麻烦..得学上一阵子...虽然有时
候我们也不得不用它...

数字也可以作为特别的字符串...这种情况下...如果我们用字典序进行比较...就有可能会出现下面这种情况...
"100">"1000"..(加引号的目的是为了区别数字..与数字串..)
这个好象没道理的样子.."1000"怎么比"100"还要小一些呢...
事实上呢.在计算机里...我们会这么看..和之前一样...我们会首先比较第一个字符...
这里"1"='1'..(已经可以看到区别了..在数中..数字因为位置的不同会有不同的意义..而这里.这种分别变的不一样了...)
..一步比较...还没有办法分辨出它们的大小...只好再比较之后的数...
这种情况回直到最后一次尝试...第一个字符串已经空掉之前...
如果硬要比较的话...
空格的ascii码值是32.(我觉得Ascii码还是用两位十六进制表示比较合适拉...咳咳..
书上告诉我..要在十六进制前加"0x"..注意是零艾克丝..不是呕哎克丝..额..虽然我也不知道是为啥.而且不得不承认这个还真不好用眼睛区
分.#24..0x20)..
当然这里还不是空格...
真正意义上的虚无.. "" 的ascii码值是0x00...
而数字0是0x30..

我们是不是应该给字典序...一个准确的数学描述呐- -...
(这个...我觉得是不是像S1<S2当前仅当什么什么什么...这样字典序的小于就有了...大于是对称的...应该可以不描述...再叙述一下等于就好
拉?..我觉得在这里...它好象没什么帮助的样子..不如用程序语言或者自然语言描述好...)

恩...这样看来...排列中出现的顺序并不是完全典型的字典序..如果把它看做字符串..它的长度是固定的...并且每一个位置的元素总是取于
前面的一些数字...

好好理解理解.......

你可以看看字典里的单词是怎么排序的啊,先大写字母,然后小写字母吧
比如A, a, ab, abc, ac排序应该是
A, a, ab, abc, ac
先比较第一个字符,A比a在前,所以第一个是A,比较第二个,a只有一个字符,自然最小,后面是b比c小,所以ab,abc在ac前,ab,abc再比较,第三个字符,ab没有了,就排在abc前

#include <stdio.h>
#include <string.h>
main()
{
char a[5][10],t[10];
int i,j;
for(i=0;i<5;i++)
{
printf("请输入第%d个同学名字:",i+1);
gets(a[i]);
}
for(i=1;i<5;i++)
for(j=0;j<5-i;j++)
if(strcmp(a[j],a[j+1])<0)
{
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
for(i=0;i<5;i++)
puts(a[i]);
}

先小写后大写

C语言中说的按字典顺序是什么意思?
就是说,将多个字符串的同一位置的字符按照26个字母的顺序进行比对。a最小,z最大。a < b;aa < ab; 因为第二位置上,前面字符串是a,后面字符串是b,所以是小于关系,以此类推。C语言排序算法:快速排序:1、假设我们给一个int数组进行排序,数组中数字初始序列为int a[9]={3,6,5,9,7...

C语言中字典排序是什么意思
按照字典的顺序 即按照字母表的顺序,由A-Z 如 Aaa 在Baa之前 , Aaa在Aab之前 同理,Aa在Aaaaa之前(一个为另一个前缀时,短的靠前)

字典序排序是什么意思?
以字典序排序是指按照字母表的顺序来排列单词或字母序列的一种方法。在这种排序方式中,排在前面的字符是字典序较小的,而排在后面的字符则是字典序较大的。每个字符都有一个数值或权重,而这个权重是按照字母表的顺序来定义的。因此,在进行字典序排序时,较小的字符排在前面,而较大的字符则排在后...

字典序是什么?
对于字符串,先按首字符排序,如果首字符相同,再按第二个字符排序,以此类推。如aa,ab,ba,bb,bc就是一个字典序。问题二:什么是字典排序 就是按照字典里的排序方法啊 先比较第一个字符i 和 b b 问题三:C语言中说的按字典顺序是什么意思??? 你可以看看字典里的单词是怎么排序的啊,先...

C语言中汉字如何进行排序
C语言中,汉字是按照字符串来处理的,一个汉字占用2个字节,汉字的排序就是按照汉字的编码进行排序,而是半个汉字的ASCII码进行排序的。汉字字典顺序是按拼音排序的。最早的汉字区位码表基本按字典顺序进行编码,但收录的汉字不全,而且多音字也没有有效的处理,排录顺序会有不同。按区位码排序,可解决...

求高人指教,C语言中,汉字姓名怎么按字典顺序排列
字典是按照拼音排序的,没有现成的拼音排序功能。你可以自己做键值表对应啊。就是做数据,把百家姓和其拼音组合对应的表,可以用文件存储,也 可以用数据库存储,或者干脆直接写在代码了,用结构数组或链表加载。然后需要排序的时候,直接用结构数组或链表排序啊。如果你除了姓,连名字都要算在排序中,那...

什么是音序,什么是音节
音序和音节在语言学中是两个重要概念。音序,即音节的第一个字母的大写,常用于字典中按照字母顺序排列词句。音节则是整个拼音构成,包括声母、韵母和声调,构成语言中可听的最小单位。普通话中一个汉字一般对应一个音节,音节由声母和韵母组成。每个音节包含一个或多个音素,按照特定规律组合。音节(...

音序是什么意思
音序的意思是指音节中的先后顺序,即按照汉字的读音进行排序。具体来说,音序是按照一定的规则对汉字的拼音进行排列,形成一个有序的序列。它主要用于帮助人们更快更方便地查找到相关字词。在中国的汉字研究中,音序有特定的规则和方式。汉字的音节众多,因此对其进行有效的排序成为字典编撰的基础工作之一。...

音序是什么意思?
1、音序,就是汉语拼音的排列顺序它也是我们在查字典时,汉字按照拼音在字典中排列的顺序它的顺序就是26个英文字母,从A到Z。2、1汉,音节为“hàn”,音序为“H”2文,音节为“wén”,音序为“W”3超,音节为“chāo”,音序为“C”4英,音节为“yīng”,音序为“Y”5果,音节为“guǒ”...

按照音序是什么意思?
怎样进行“按照音序”的学习?想要学习“按照音序”分类,首先需了解什么是声母、韵母和声调。此外,需要了解汉字的常见读音和读音顺序。在学习过程中,可以使用拼音表、字典等工具辅助,重点记忆和练习常用汉字的读音。通过不断练习和总结,逐步掌握“按照音序”分类的方法和技巧。“按照音序”分类的应用领域...