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

資源簡介

中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,并求值,(C語言

資源截圖

代碼片段和文件信息

/***
*DynaSeqStack.cpp?-?動(dòng)態(tài)順序棧,即棧的動(dòng)態(tài)順序存儲(chǔ)實(shí)現(xiàn)
*
*
*題目:實(shí)驗(yàn)3-1?棧的動(dòng)態(tài)順序存儲(chǔ)實(shí)現(xiàn)
*
*班級(jí):
*
*姓名:
*
*學(xué)號(hào):
*
****/

#include?
#include?
#include?
#include?
#include?“DynaSeqStack.h“

const?int?STACK_INIT_SIZE?=?100; //?初始分配的長度
const?int?STACKINCREMENT??=?10; //?分配內(nèi)存的增量

/*------------------------------------------------------------
操作目的: 初始化棧
初始條件: 無
操作結(jié)果: 構(gòu)造一個(gè)空的棧
函數(shù)參數(shù):
SqStack?*S 待初始化的棧
返回值:
bool 操作是否成功
------------------------------------------------------------*/
bool?InitStack(SqStack?*s)
{
if?(!(s->base?=?(ElemType?*)malloc(STACK_INIT_SIZE*sizeof(ElemType))))
return?false;

s->top?=?s->base;
s->stacksize?=?STACK_INIT_SIZE;

return?true;
}

/*------------------------------------------------------------
操作目的: 清空棧
初始條件: 棧S已存在
操作結(jié)果: 清空棧S
函數(shù)參數(shù):
SqStack?*S 待清空的棧
返回值:
操作是否成功
------------------------------------------------------------*/
bool?ClearStack(SqStack?*S)
{
if?(!S->base)??return??false;

S->top?=?S->base;

return?true;
}

/*------------------------------------------------------------
操作目的: 銷毀棧
初始條件: 棧S已存在
操作結(jié)果: 銷毀棧S
函數(shù)參數(shù):
SqStack?*S 待銷毀的棧
返回值:

------------------------------------------------------------*/
void?DestroyStack(SqStack?*s)
{
if?(s->base)
{
free(s->base);
s->base?=?NULL;
}
}

/*------------------------------------------------------------
操作目的: 判斷棧是否為空
初始條件: 棧S已存在
操作結(jié)果: 若S為空棧,則返回true,否則返回false
函數(shù)參數(shù):
SqStack?S 待判斷的棧
返回值:
bool 是否為空
------------------------------------------------------------*/
bool?StackEmpty(SqStack?s)
{
return?s.base?==?s.top;
}

/*------------------------------------------------------------
操作目的: 得到棧的長度
初始條件: 棧S已存在
操作結(jié)果: 返回S中數(shù)據(jù)元素的個(gè)數(shù)
函數(shù)參數(shù):
SqStack?S 棧S
返回值:
int 數(shù)據(jù)元素的個(gè)數(shù)
------------------------------------------------------------*/
int?StackLength(SqStack?S)
{
return?S.top-S.base;
}

/*------------------------------------------------------------
操作目的: 得到棧頂元素
初始條件: 棧S已存在
操作結(jié)果: 用e返回棧頂元素
函數(shù)參數(shù):
SqStack?S 棧S
ElemType?*e 棧頂元素的值
返回值:
bool 操作是否成功
------------------------------------------------------------*/
bool?GetTop(SqStack?s?ElemType?*e)
{
if?(!s.base)??return?false;

*e?=?*(s.top-1);

return?true;
}

/*------------------------------------------------------------
操作目的: 遍歷棧
初始條件: 棧S已存在
操作結(jié)果: 依次對(duì)S的每個(gè)元素調(diào)用函數(shù)fp
函數(shù)參數(shù):
SqStack?S 棧S
void?(*fp)() 訪問每個(gè)數(shù)據(jù)元素的函數(shù)指針
返回值:

------------------------------------------------------------*/
void?StackTraverse(SqStack?S?void?(*fp)(ElemType))
{
if?(S.base)
{
while?(S.top?!=?S.base)
{
printf(“%d\t“*(--S.top));
}
printf(“\n“);
}
}

/*------------------------------------------------------------
操作目的: 壓棧——插入元素e為新的棧頂元素
初始條件: 棧S已存在
操作結(jié)果: 插入數(shù)據(jù)元素e作為新的棧頂
函數(shù)參數(shù):
SqStack?*S 棧S
ElemType?e 待插入的數(shù)據(jù)元素
返回值:
bool 操作是否成功
------------------------------------------------------------*/
bool?Push(SqStack?*S?ElemType?e)
{
if?(!S->base)??return?false

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

?????文件???????3073??2009-10-29?16:55??Test.cpp

?????文件???????4223??2009-08-17?10:05??DynaSeqStack.cpp

?????文件????????884??2009-08-17?10:05??DynaSeqStack.h

?????文件????????222??2009-08-27?12:32??ElemType.cpp

?????文件????????230??2009-08-27?08:20??ElemType.h

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

?????????????????8632????????????????????5


評(píng)論

共有 條評(píng)論

相關(guān)資源