一些数据结构的基本算法

源代码在线查看: func3-2.c

软件大小: 89 K
上传用户: edan1181
关键词: 数据结构 算法
下载地址: 免注册下载 普通下载 VIP

相关代码

				 /* func3-2.c algo3-6.c和algo3-7.c要调用的函数 */
				 char Precede(SElemType t1,SElemType t2)
				 { /* 根据教科书表3.1,判断t1,t2两符号的优先关系('#'用'\n'代替) */
				   char f;
				   switch(t2)
				   {
				     case '+':
				     case '-':if(t1=='('||t1=='\n')
				                f='				              else
				                f='>'; /* t1>t2 */
				              break;
				     case '*':
				     case '/':if(t1=='*'||t1=='/'||t1==')')
				                f='>'; /* t1>t2 */
				              else
				                f='				              break;
				     case '(':if(t1==')')
				              {
				                printf("括号不匹配\n");
				                exit(ERROR);
				              }
				              else
				                f='				              break;
				     case ')':switch(t1)
				              {
				                case '(':f='='; /* t1=t2 */
				                          break;
				                case'\n':printf("缺乏左括号\n");
				                          exit(ERROR);
				                default :f='>'; /* t1>t2 */
				              }
				              break;
				     case'\n':switch(t1)
				              {
				                case'\n':f='='; /* t1=t2 */
				                         break;
				                case'(' :printf("缺乏右括号\n");
				                         exit(ERROR);
				                default :f='>'; /* t1>t2 */
				              }
				   }
				   return f;
				 }
				
				 Status In(SElemType c)
				 { /* 判断c是否为7种运算符之一 */
				   switch(c)
				   {
				     case'+' :
				     case'-' :
				     case'*' :
				     case'/' :
				     case'(' :
				     case')' :
				     case'\n':return TRUE;
				     default :return FALSE;
				   }
				 }
				
				 SElemType Operate(SElemType a,SElemType theta,SElemType b)
				 { /* 做四则运算a theta b,返回运算结果 */
				   switch(theta)
				   {
				     case'+':return a+b;
				     case'-':return a-b;
				     case'*':return a*b;
				   }
				   return a/b;
				 }
				
							

相关资源