本程序基于数据结构——严蔚敏版中栈章节的行编辑程序
由于相对简单,直接将源码附上:
#include<stdio.h>
#include<stdlib.h>
#define STACKINCREMENT 10
#define STACK_INIT_SIZE 100
typedef char SElemType;
typedef struct {
SElemType *top; //栈顶指针
SElemType *base; //栈底指针
int stacksize; //栈当前分配空间,以元素为单位
} SqStack;
void InitStack(SqStack &S) {
S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.base) {
printf("空间创建失败,程序退出!\n");
exit(!0);
}
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
}
bool isEmpty(SqStack &S) {
if(S.top==S.base) {
return true;
} else {
return false;
}
}
void Push(SqStack &S,char