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

  • 大小: 5KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-12
  • 語言: C/C++
  • 標(biāo)簽: 后綴??堆棧??

資源簡(jiǎn)介

后綴表達(dá)式求值,練習(xí)堆棧,算法。大家需要可以參考下

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

using?namespace?std;

typedef?unsigned?int?DWORD;

class?PostOrder
{
public:
PostOrder(char?*pInput)
{
assert(pInput?!=?0);
m_pszInput?=?pInput;
m_dwSize?=?strlen(pInput);
assert(m_dwSize>=3);
m_pszOutput?=?new?char[m_dwSize];
assert(m_pszOutput!=0);
memset(m_pszOutput0m_dwSize);
m_dwOpIdx?=?0;
m_dwResult?=?0;
}

DWORD?GetPriority(char?ch)
{
int?prio?=?0;
switch?(ch)
{
case?‘+‘:
case?‘-‘:
prio?=?1;
break;
case?‘*‘:
case?‘/‘:
prio?=?2;
break;
case?‘(‘:
case?‘)‘:
prio?=?3;
break;
default:
assert(0);
}

return?prio;
}

DWORD?Process()
{
char?*pStack?=?new?char[m_dwSize];
int?StackIdx?=?0;
DWORD?StackBottomPrio?=?0;

for(DWORD?i?=?0;?i {
char?ch?=?m_pszInput[i];

if?((‘0‘?<=?ch)&&(‘9‘>=?ch))
{
m_pszOutput[m_dwOpIdx]?=?ch;
m_dwOpIdx++;
}
else
{

switch?(ch)
{
case?‘+‘:
case?‘-‘:
case?‘*‘:
case?‘/‘:

if?(GetPriority(ch)>StackBottomPrio)
{
pStack[StackIdx]?=?ch;
StackIdx++;

if?(!StackBottomPrio)?StackBottomPrio?=?GetPriority(ch);

}
else
{
while(StackIdx?>?0)
{
if?(‘(‘?==?pStack[--StackIdx])
{
StackIdx++;
break;
}
else
{
m_pszOutput[m_dwOpIdx]?=?pStack[StackIdx];
m_dwOpIdx++;
}
}

DWORD?dwTEMP?=?StackIdx;

if?(!dwTEMP)?StackBottomPrio?=?0;
else
{
dwTEMP--;
while((dwTEMP?>?0)?&&?(‘(‘?!=?pStack[dwTEMP-1]))
{
dwTEMP--;
}

StackBottomPrio?=?GetPriority(pStack[dwTEMP]);
}

pStack[StackIdx]?=?ch;
StackIdx++;

}
break;

case?‘(‘:
pStack[StackIdx]?=?ch;
StackIdx++;

StackBottomPrio?=?0;
break;

case?‘)‘:
while(StackIdx?>?0)
{
if?(‘(‘?!=?pStack[--StackIdx])
{
m_pszOutput[m_dwOpIdx]?=?pStack[StackIdx];
m_dwOpIdx++;
}
else
break;
};

break;
default:
assert(0);
}
}

}

while(StackIdx?>?0)
{
StackIdx--;
m_pszOutput[m_dwOpIdx]?=?pStack[StackIdx];
m_dwOpIdx++;
}

m_pszOutput[m_dwOpIdx]?=?0;

delete?pStack;

return?0;

}

void?calculate()
{
DWORD?dwLen?=?strlen(m_pszOutput);
DWORD?*pStack?=?new?DWORD[dwLen]?;
DWORD?StackIdx?=?0;
for?(DWORD?dwIdx?=?0;?dwIdx? {

評(píng)論

共有 條評(píng)論

相關(guān)資源