记录关键字字符串的比较

来源:互联网 发布:伊利诺伊理工大学 知乎 编辑:程序博客网 时间:2024/05/16 10:53
最近在研究字典树数据结构,发现双链键树的同一层结点的关键字符必须有序,否则在插入结点时会失败,在项目中,许多字符串都是未经处理的,没有排好序的,于是为了查找字符串快速,方便,用trie树或者双链键树搜索比较快,为了使字符串有序,必须得进行排序,于是定义了如下数据结构:

/关键字类型struct KeyType{char ch[MAX_KEY_LEN];//存储关键子串int num;//关键子串长度};struct Others{//其他记录的类型,比如为整形,可能还有其他更加复杂的数据结构类型int order;};//查找的记录封转关键字类型struct Record{KeyType K;查找记录的关键字类型Others other;其他类型};char*s[6] = {"bcda", "abcd", "huyufei", "lixu", "chenao", "xy"};int i;Record r[6] = {};//申明记录数组为5个for (i = 0; i < 6; i++){strcpy(r[i].K.ch, s[i]);//给记录赋值}int j;for (i = 0; i < 6; i++){for (j = i + 1; j < 6; j++){if (strcmp(r[i].K.ch, r[j].K.ch) > 0){Record t = r[i];r[i] = r[j];r[j] = t;}}}for (int i = 0; i < 6; i++){printf("%s \n", r[i].K.ch);}


这样发现这些字符串都变了有序的,于是就可以好建立字典树和trie树了。


0 0
原创粉丝点击