发布时间: 2012-12-19 14:13:14 作者: rapoo
C语言顺序实现栈
ADT_Sequential_Stack.h
/*-----------------------------------------Copyright (c) 2010-2011 Zidane LiUsage of this program is free for non-commercial use.-----------------------------------------*/#ifndef ADT_SEQUENTIAL_STACK_H#define ADT_SEQUENTIAL_STACK_Htypedef char SElemType;typedef struct{SElemType* base; //用来构造和销毁栈SElemType* top;int stacksize;}SqStack;void visit(SElemType e){printf("%c", e);}#endif
Sequential_Stack.h
/*-----------------------------------------Copyright (c) 2010-2011 Zidane LiUsage of this program is free for non-commercial use.-----------------------------------------*/#ifndef SEQUENTIAL_STACK_H#define SEQUENTIAL_STACK_H#include <stdlib.h>#include "ADT_Sequential_Stack.h"#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0;#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;Status InitStack_Sq(SqStack& S){S.base = (SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType));if (!S.base){exit(OVERFLOW);}S.top = S.base;S.stacksize = STACK_INIT_SIZE;return OK;}Status DestroyStack_Sq(SqStack& S){free(S.base);return OK;}Status ClearStack_Sq(SqStack& S){S.base[0] = ' ';S.top = S.base;S.stacksize = STACK_INIT_SIZE;return OK;}Status StackEmpty_Sq(SqStack S){return S.base == S.top;}int StackLength_Sq(SqStack S){return S.top - S.base;}SElemType GetTop_Sq(SqStack S){if (StackEmpty_Sq(S)){return ERROR;}return *(S.top - 1);}Status Push_Sq(SqStack& S, SElemType e){if (S.top - S.base >= S.stacksize){S.base = (SElemType*)realloc(S.base, (S.stacksize + STACKINCREMENT) * sizeof(SElemType));if (!S.base){exit(OVERFLOW);}S.top = S.base + S.stacksize;S.stacksize += STACKINCREMENT;}*S.top++ = e;return OK;}Status Pop_Sq(SqStack& S, SElemType& e){if (S.top == S.base){return ERROR;}e = * --S.top;return OK;}Status StackTraverse(SqStack S){for (SElemType* p = S.base; p != S.top; p++){visit(*p);}return OK;}#endif
一事不明关于main函数return 零
看起来像函数定义但没有参数列表;跳
使用typedef定义结构体解决思路
求教赋值有关问题
C中\t跟\n 的区别
pScanInfo-gt;last_file_path3的内容为啥
获得CPU电扇转速
char*和char[][]的有关问题
c语言中的关键字小结
malloc 有关问题 求解