91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 220KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2024-01-28
  • 語(yǔ)言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----表達(dá)式類型的實(shí)現(xiàn) 完美程序+完整的報(bào)告

資源截圖

代碼片段和文件信息

	/*頭文件*/
#include
#include
#include
#include
#include
#define?TRUE?1
#define?FALSE?0
#define?OK?1
#define?ERROR?0

#define?STACK_INIT_SIZE?100
#define?STACKINCREMENT?10
///數(shù)據(jù)類型定義
typedef?int?Status;
typedef?struct?BiTNode//樹(shù)的存儲(chǔ)結(jié)構(gòu)
{
int?tdata;//放int數(shù)據(jù),當(dāng)有數(shù)字時(shí),data[0]=‘&‘,用‘&‘標(biāo)志結(jié)點(diǎn)放的是數(shù)字
char?data[10];//放字母字符串或是運(yùn)算符號(hào)字符
struct?BiTNode?*lchild*rchild;
}BiTNode*BiTree;
///棧的數(shù)據(jù)類型定義
typedef?char?SElemType;
typedef?struct
{
SElemType?*base;
SElemType?*top;
int?stacksize;
}SqStack;?
/////////////棧函數(shù)定義
Status?IntiStack(SqStack?&S)?//初始化棧函數(shù)
{S.base=(char?*)malloc(STACK_INIT_SIZE*sizeof(char));
if?(!S.base)?return?ERROR;
S.top=S.base;S.stacksize=STACK_INIT_SIZE;return?OK;}

Status?DestroyStack(SqStack?&S)?//銷毀函數(shù)
{free(S.base);S.top=S.base=NULL;return?OK;}

int?StackLength(SqStack?S)?//求棧存儲(chǔ)的長(zhǎng)度函數(shù)
{int?i=S.top-S.base;return?i;}

Status?Push(SqStack?&S?char?e)?//把e插入到棧頂函數(shù)
{
if?(S.top-S.base>=S.stacksize)
{
S.base=(SElemType?*)realloc(S.base
(S.stacksize+STACKINCREMENT)*sizeof(SElemType));//當(dāng)棧滿的時(shí)候重新分配空間
if?(!S.base)?return?ERROR;
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
*S.top++=e;?return?OK;}
*S.top++=e;?return?OK;
}

char?Pop(SqStack?&S)//刪除棧頂并用e返回?函數(shù)
{if(S.top==S.base)?return?ERROR;
char?e=*--S.top;return?e;}
char?gettop(SqStack?&Schar?&e)//取棧頂元素的函數(shù)
{?if?(S.top<0){
return?ERROR;?
}??????//棧空,返回空值
?????????else?{?
???????????????????e=*(S.top-1);
?????????????????? return?e;?
???????????????}
????????}??//?gettop
Status?StackEmpty?(SqStack?&S)
?????{?if?(S.top==S.base)
??????????????return?OK;???????//??眨祷豋K
?????????else?{?
???????????????????return?ERROR;
?????????????????}
????????}??//?empty

char?in[100]in2[100];//假設(shè)表達(dá)式最多有100個(gè)字符,“#”表示輸入完畢
SqStack?S;?//借用該棧來(lái)實(shí)現(xiàn)阿拉伯?dāng)?shù)字的輸入
int?a=0;?//定義該全局變量來(lái)一個(gè)一個(gè)地初始化樹(shù)
int?i=0j=0;//定義全局變量
char?OP[5]={‘+‘‘-‘‘*‘‘/‘‘^‘};//運(yùn)算符
///////////////函數(shù)定義
Status?IntiBiTree(BiTree?&T)
{
T=NULL;
return?OK;
}
Status?DestroyBiTree(BiTree?&T)
{?if(T->lchild)
????DestroyBiTree(T->lchild);
??if(T->rchild)
??DestroyBiTree(T->rchild);
free(T);
T=NULL;
return?OK;
}
void?input()?{?//輸入表達(dá)式的函數(shù)
char?d=‘a(chǎn)‘;
for(int?b=0;d!=‘#‘;b++)
{?
scanf(“%c“&d);
in[b]=d;//附給in[100]數(shù)組
}
getchar();//接收回車鍵字符
}
int?pow10(int?b)///10的b?次方
{int?c=1;
for(int?q=1;q<=b;q++)c=c*10;
return?c;
}?
Status?CreateBiTree(BiTree?&T)//創(chuàng)建表達(dá)式類型的樹(shù)
{?int?y;
while(in[a]!=‘#‘)//以#結(jié)束
{
if(in[a]==‘-‘||in[a]==‘+‘||in[a]==‘*‘||in[a]==‘/‘||in[a]==‘^‘)//當(dāng)字符為運(yùn)算符時(shí)
{
if?(!(T=(BiTNode?*)malloc(sizeof?(BiTNode))))?return?ERROR;
T->data[0]=in[a];//字符數(shù)組的第一個(gè)元素為運(yùn)算符
T->data[1]=‘@‘;//以‘@‘作為結(jié)尾的標(biāo)志
T->tdata=0;//初始化變量
a++;
CreateBiTree(T->lchild);//運(yùn)算符需要建立它的左右孩子
CreateBiTree(T->rchild);
return?OK;?
}
else
{
if(in[a]==‘0‘||in[a]==‘1‘||in[a]==‘2‘||in[a]==‘3‘||in[a]==‘4‘||
in[a]==‘5‘||in[a]==‘6‘||in[a]==‘7‘||in[a]==‘8‘||in[a]==‘9‘)//當(dāng)字符是阿拉伯?dāng)?shù)字時(shí)
{
Push(S?in[a]);//建一個(gè)棧來(lái)放阿拉伯?dāng)?shù)字
if(in[a+1]!=‘0‘&&in[a+1]!=‘1‘&&in[a+1]!=‘2‘&&i

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????23017??2008-07-04?14:40??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.cpp

?????文件??????50176??2008-07-31?17:11??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.ncb

?????文件????????719??2008-07-31?16:45??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.plg

?????文件??????41984??2008-07-31?16:45??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug\vc60.idb

?????文件??????53248??2008-07-31?16:44??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug\vc60.pdb

?????文件?????459776??2008-07-31?16:45??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug\2.pdb

?????文件?????237666??2008-07-31?16:45??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug\2.exe

?????文件??????48091??2008-07-31?16:44??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug\2.obj

?????文件??????55808??2008-07-04?15:23??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)的封面.doc

?????文件?????223744??2008-07-05?23:44??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc

?????文件???????3341??2008-07-31?16:44??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.dsp

?????文件??????48640??2008-07-31?17:11??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.opt

?????文件????????510??2008-07-31?17:11??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\2.dsw

?????目錄??????????0??2008-07-04?15:19??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)\Debug

?????目錄??????????0??2008-07-04?15:19??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

-----------?---------??----------?-----??----

??????????????1246720????????????????????15


評(píng)論

共有 條評(píng)論