分析:
我们可以用二叉搜索树来解决这个问题,把单词存在一个结点里,这个结点还能保存它的左右孩子指针,左子树里存的是比它小的单词,右子树里存的是比它大的单词。二叉搜索树的概念和基本操作在我的上一篇博客中已经解释清楚了,这是上一篇博客连接:https://mp.csdn.net/mdeditor/82465620
单词都是一个字符串,在比较字符串的大小的时候,有专门的函数:strcmp()
JudgeWord.h
#ifndef __JUDGEWORD_H__
#define __JUDGEWORD_H__
#include<string.h>
#include<assert.h>
typedef char* KeyType;
typedef struct BSTreeNode
{
struct BSTreeNode* _pLeft;
struct BSTreeNode* _pRight;
KeyType _key;
}BSTKNode;
void InitBSTKNode(BSTKNode** pRoot);
void InsertBSTKNode(BSTKNode** pRoot, KeyType key);
BSTKNode* FindBSTKNode(BSTKNode* pRoot, KeyType key);
#endif //__JUDGEWORD_H__
JudgeWord.c