正在加载图片...
3.顺序栈 <a>静态分配 栈空间大小固定,不能扩充 typedef struct Elem Type elem[ maxleng+1];∥栈元素空间 Int top ∥顶指针 qstack为结构类型 qstack S ∥s为结构类型变量 其中:stop-顶指针; selem(s top-顶元素 b>动态分配 预先分配一个适当的栈空间,当发生溢出时在扩充 # define stacK INit size100/*初始分配的适当空间 # define STACKINcrement10/*每次发生溢出时扩充的增量* typedef struct Elem Type *base;∥栈元素空间 Int top; 顶指针 int stacksize qstack ∥ SqStack为结构类型 Sastack s为结构类型变量 其中:stop-顶指针; s. base(s top-顶元素 #define TRUe #define false o int clear stack( Sqstack*S)/*清空栈*/ /率容率本本*本******本**********率幸春幸率幸** 功能:测试栈是否为空 六输入:栈对象S 输出:空时返回TRUE,非空时返回 FALSE 孝水客*客*水本水客水客水客 int StackEmpty (SqStack S) I if (S top==-1) return TRUE return False: *涂水**客水*客*称水*水客水*水*称*水客**客*涂水客水客水*客水水*水水*水*客*客客水3. 顺序栈 <a> 静态分配 栈空间大小固定,不能扩充 typedef struct { ElemType elem[maxleng+1];//栈元素空间 int top; //顶指针 }sqstack; //sqstack 为结构类型 sqstack s; //s 为结构类型变量 其中: s.top----顶指针;s.elem[s.top]----顶元素 <b> 动态分配 预先分配一个适当的栈空间,当发生溢出时在扩充。 #define STACK_INIT_SIZE 100 /*初始分配的适当空间*/ #define STACKINCREMENT 10 /*每次发生溢出时扩充的增量*/ typedef struct { ElemType *base;//栈元素空间 int top; //顶指针 int stacksize }SqStack; // SqStack 为结构类型 SqStack s; //s 为结构类型变量 其中: s.top----顶指针;s.base[s.top]----顶元素 #define TRUE 1 #define FALSE 0 int ClearStack(SqStack *S) /*清空栈*/ { S->top=-1;} /********************************************************** ** 功能:测试栈是否为空 ** ** 输入:栈对象 S ** ** 输出: 空时返回 TRUE, 非空时返回 FALSE ** **********************************************************/ int StackEmpty(SqStack S) { if (S.top==-1) return TRUE; else return FALSE; } /**********************************************************
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有