📄 stack.cpp
字号:
/************************************
* Copyright (c) 2008,LDCI
*
* 文件名称: Stack.cpp
* 摘要:
* 使用 C 语言实现对顺序存储结构的堆栈
* 时间:
* 2008-5-5
* 作者:
* 左建华
************************************/
#include <stdlib.h>
#include <stdio.h>
#define STACKSIZE 100
typedef char DataType;
typedef struct
{
DataType data[STACKSIZE];
int nTop;
}SeqStack;
void Error(char* _pchMessage);
void InitStack(SeqStack *_pStack)
{
//将顺序栈置空
for(int i=0; i<STACKSIZE; i++)
_pStack->data[i] = 0;
_pStack->nTop = -1;
}
int StackEmpty(SeqStack *_pStack)
{
return _pStack->nTop == -1;
}
int StackFull(SeqStack *_pStack)
{
return _pStack->nTop == STACKSIZE-1;
}
void Push(SeqStack *_pStack, DataType _x)
{
if( StackFull(_pStack) )
{
Error("Stack overflow.");
return;
}
_pStack->data[++(_pStack->nTop)] = _x;
}
DataType Pop(SeqStack *_pStack)
{
if( StackEmpty(_pStack) )
{
Error("Stack underflow.");
return -1;
}
return _pStack->data[(_pStack->nTop)--];
}
DataType StackTop(SeqStack *_pStack)
{
if( StackEmpty(_pStack) )
{
Error("Stack underflow.");
return -1;
}
return _pStack->data[(_pStack->nTop)];
}
void Error(char* _pchMessage)
{
fprintf(stderr, "Error: %s\n", _pchMessage);
}
int main(int argc, char** argv)
{
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -