• 大小: 13.77MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-27
  • 语言: 其他
  • 标签: scu  

资源简介

数据结构实验源码。包括:带括号的算术表达式求值+A Text Editor Imlementation+Huffman编码+拓扑排序------打印输出计算机本科专业4年每学期的课表

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
using namespace std;


string transform(string str)//将中缀表达式转换为后缀表达式
{
stack ope;
int i;
string exp=““;
for(i=0;i {
if(str[i]==‘.‘||isdigit(str[i]))
{
exp+=str[i];
}
else if(str[i]==‘+‘||str[i]==‘-‘)
{
int j=i-1;
if(isdigit(str[j]))
{
exp+=“ “;//每个数字的后面都加一个空格加以区分
if(ope.empty()||ope.top()==‘(‘)
{
ope.push(str[i]);
}
else
{
while(!ope.empty()&&ope.top()!=‘(‘)
{
exp+=ope.top();
ope.pop();
}
ope.push(str[i]);
}
}
else
{
if(ope.empty()||ope.top()==‘(‘)
{
ope.push(str[i]);
}
else
{
while(!ope.empty()&&ope.top()!=‘(‘)
{
exp+=ope.top();
ope.pop();
}
ope.push(str[i]);
}
}
}
else if(str[i]==‘*‘||str[i]==‘/‘||str[i]==‘%‘)
{   
int j=i-1;
if(isdigit(str[j]))
{
exp+=“ “;
if(ope.empty()||ope.top()==‘(‘||ope.top()==‘+‘||ope.top()==‘-‘)
    {
ope.push(str[i]);
    }
    else
    {
     while(!ope.empty()&&ope.top()!=‘(‘&&ope.top()!=‘+‘&&ope.top()!=‘-‘)
    {
exp+=ope.top();
ope.pop();
    }
ope.push(str[i]);
    }
}
else
{
if(ope.empty()||ope.top()==‘(‘||ope.top()==‘+‘||ope.top()==‘-‘)
{
ope.push(str[i]);
}
else
{
while(!ope.empty()&&ope.top()!=‘(‘&&ope.top()!=‘+‘&&ope.top()!=‘-‘)
{
exp+=ope.top();
ope.pop();
}
ope.push(str[i]);
}
}
}

//}
else if(str[i]==‘^‘)
{
int j=i-1;
if(str[j]!=‘)‘)
{
exp+=“ “;
}
ope.push(str[i]);
}
else if(str[i]==‘(‘)
{
ope.push(str[i]);
}
else if(str[i]==‘)‘)
{
exp+=“ “;
while(ope.top()!=‘(‘)
{
exp+=ope.top();
ope.pop();
}
ope.pop();
}
else
{
return “有错误“;
}
}
while(!ope.empty())//遍历完表达式将堆栈中的所有运算符输出
{  
if(isdigit(exp[exp.length()-1]))
{
exp=exp+“ “+ope.top();
    ope.pop();
}
    else

exp=exp+ope.top();
    ope.pop();
}
}
return exp;
}

int examine(string str)//检查输入的表达式是否有误
{
if((isdigit(str[str.length()-1])!=0||str[str.length()-1]==‘)‘)&&(isdigit(str[0])!=0||str[0]==‘+‘||str[0]==‘-‘||str[0]==‘(‘))
{
int i;
for(i=0;i {
if(str[i]==‘/‘||str[i]==‘%‘||str[i]==‘*‘||str[i]==‘^‘)
{   
int a=i+1;
    if(str[a]==‘/‘||str[a]==‘*‘||str[a]==‘%‘||str[a]==‘)‘||str[a]==‘.‘)
{
cout<<“表达式有错误“<     return 1;
    break;
}
}
else if(str[i]==‘+‘||str[i]==‘-‘)
{
int a=i+1;
if(str[a]==‘/‘||str[a]==‘*‘||str[a]==‘%‘||str[a]==‘)‘||str[a]==‘.‘||str[a]==‘^‘)
{cout<<“表达式有错误“< return 1;
break;}
}
else if(isdigit(str[i])!=0)
{
int a=i+1;
if(str[a]==‘(‘)
{
cout<<“表达式有错误“< return 1;
break;
}
}
else if(isdigit(st

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-09-03 19:40  实验\
     目录           0  2019-09-03 19:31  实验\Calculator\
     文件        5049  2018-12-17 09:40  实验\Calculator\main.cpp
     文件     2038891  2019-09-03 19:30  实验\Calculator\main.exe
     目录           0  2019-09-03 19:33  实验\classtimetable\
     文件       10126  2018-12-19 23:50  实验\classtimetable\class.cpp
     文件     1977882  2019-09-03 19:33  实验\classtimetable\class.exe
     文件         644  2012-12-11 14:35  实验\classtimetable\course.txt
     目录           0  2019-09-03 19:39  实验\editor\
     目录           0  2019-09-03 19:39  实验\editor\Debug\
     文件       11982  2018-12-12 16:12  实验\editor\Debug\CL.read.1.tlog
     文件         252  2018-12-12 16:12  实验\editor\Debug\CL.write.1.tlog
     文件         632  2018-12-12 16:12  实验\editor\Debug\cl.command.1.tlog
     文件      701952  2018-12-14 22:09  实验\editor\Debug\editor.exe
     文件         406  2018-12-12 16:12  实验\editor\Debug\editor.exe.embed.manifest
     文件         472  2018-12-12 16:12  实验\editor\Debug\editor.exe.embed.manifest.res
     文件         381  2018-12-14 22:09  实验\editor\Debug\editor.exe.intermediate.manifest
     文件     1739408  2018-12-14 22:09  实验\editor\Debug\editor.ilk
     文件          76  2018-12-14 22:09  实验\editor\Debug\editor.lastbuildstate
     文件        1988  2018-12-14 22:09  实验\editor\Debug\editor.log
     文件     2927616  2018-12-14 22:09  实验\editor\Debug\editor.pdb
     文件         713  2018-12-12 16:12  实验\editor\Debug\editor.vcxprojResolveAssemblyReference.cache
     文件           0  2018-12-12 16:12  实验\editor\Debug\editor.write.1.tlog
     文件         208  2018-12-12 16:12  实验\editor\Debug\editor_manifest.rc
     文件           0  2018-12-17 14:17  实验\editor\Debug\file_out.txt
     文件           2  2018-12-14 22:09  实验\editor\Debug\link-cvtres.read.1.tlog
     文件           2  2018-12-14 22:09  实验\editor\Debug\link-cvtres.write.1.tlog
     文件           2  2018-12-14 22:09  实验\editor\Debug\link.11656-cvtres.read.1.tlog
     文件           2  2018-12-14 22:09  实验\editor\Debug\link.11656-cvtres.write.1.tlog
     文件           2  2018-12-14 22:09  实验\editor\Debug\link.11656.read.1.tlog
     文件           2  2018-12-14 22:09  实验\editor\Debug\link.11656.write.1.tlog
............此处省略97个文件信息

评论

共有 条评论