tree.c

来自「嵌入式汉字输入法及汉字库设计,点阵字库,精简的数据结构,高效的4键输入法」· C语言 代码 · 共 68 行

C
68
字号
#include "stdio.h"
#include "string.h"
#include "type.h"
#include "pinyin.h"


//4叉树的遍历函数
//PY_NODE MyPyNode[101];
void preorder(PY_LINK * root)
{
	PY_LINK *p;
	char *pHanzi;
	char *pPY;
	unsigned short *pNode;
	p=root;
	//xxxxxxxxxxxxxxxxxxxxxxxxxxxx
	//取值操作过程,取节点值
	if(p!=NULL)
	{
		if(p->pPyCode!=NULL)
		{
			pNode = p->pPyCode;
			while(*pNode !=9999)
			{
				pHanzi = MyPyNode[*pNode].pHanZi;
				pPY = MyPyNode[*pNode].Pinyin;
				pNode++;
			}
		}
	}
	//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	if(p!=NULL)
	{
		preorder(p->pSon[0]);
		preorder (p->pSon[1]);
		preorder (p->pSon[2]);
		preorder (p->pSon[3]);
	}
} 

void main()
{
	int code,k,i,j;
	char str[6]="1132";
	char buff[50];
	PY_LINK *pLinkHead;
	pLinkHead = &LinkOne[0];

	j=0;
	code =0;
	strcpy(buff,str);
	//得到一棵子树
	if(j<7)
	{
		for(i=0;i<=j;i++)
		{
			k=((int) buff[i])-0x30;
			if(k<5)
			{
				pLinkHead = pLinkHead->pSon[k-1];
			}
		}
	}
	//遍历此子树
	preorder(pLinkHead);
}

⌨️ 快捷键说明

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