数据结构考研习题-第四章串(5)

2019-04-17 15:47

TY=0; //变量类码为0

for(i=1;i<=NAMEL.last;i++)

if(NAMEL.data[i]==ch)break;//已有该变量,i记住其位置

if(i>NAMEL.last){NAMEL.data[i]=ch;NAMEL.last++;}//变量加入

case‘0’: case‘1’: case‘2’: case‘3’: case‘4’: case‘5’://处理常量

case‘6’: case ‘7’:case‘8’: case‘9’: TY=1;//常量类码为1 for(i=1;i<=CONSL.last;i++)

if(CONSL.data[i]==ch)break;////已有该常量,i记住其位

if(i>CONSL.last){CONSL.data[i]=ch;CONSL.last++;}//将新常量加入

default: //处理运算符

TY=operator(ch);//类码序号

i=’\\0’; //填入TOKEN的addr域(期望输出空白) }//结束switch,下面将ch填入TOKEN表

TOKEN.data[++TOKEN.last].typ=TY;TOKEN.data[TOKEN.last].addr=i; scanf(“%c”,&ch); //读入表达式的下一符号。 }//while }//算法结束

[程序讨论]为便于讨论,各一维数组下标均以1开始,在字符为变量或常量的情况下,将其类码用TY记下,用i记下其NAMEL表或CONSL表中的位置,以便在填TOKEN表时用。在运算符(‘+’,‘*’,‘(’,‘)’)填入TOKEN表时,TOKEN表的addr域没意义,为了程序统一,这里填入了’\\0’。本题是表达式处理的简化情况(只有3个单字母变量,常量只有0..9,操作符只4个),若是真实情况,所用数据结构要相应变化。


数据结构考研习题-第四章串(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:农业科技政策与“三农”问题案例分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: