3.出栈 void Pop(StACK*S, StackEntry *item) if( StackEmpty(xS)exit(“ Stack is empty”); else item -s->top ->item p=S->top S->top=p->next; free(p) 请单赤鼠标左键换页!
3. 出栈 void Pop(STACK*S, StackEntry *item) { if (StackEmpty(*S)) exit(“Stack is empty”); else { *item=S->top->item; p=S->top; S->top=p->next; free(p); } }
4.获取栈顶元素内容 void GetTop(stack s, Stack Entry *item) if( StackEmpty(S) exit(“ Stack is empt!y”); else *item=S. top->item 5.判断栈S是否空 int StackEmpty(STACK S if(S top==NULL return TRUE else false 请单鼠标左键换页!
4. 获取栈顶元素内容 void GetTop(STACK S,StackEntry *item) { if (StackEmpty(S)) exit(“Stack is empty”); else *item=S.top->item; } 5. 判断栈S是否空 int StackEmpty(STACK S) { if (S.top==NULL) return TRUE; else FALSE; }
3.1.4栈的应用举例 【举例1】将从键盘输入的字符序列逆置输出 比如,从键盘上输入: tset a si sih;算法将输出 This is a test 下面我们给出解决这个问题的完整算法。 typedef char StackEntry void Reversereado STACK S ∥定义一个栈结构S char ch; InitStack(&s); ∥始化栈 请单鼠标左键换页!
3.1.4 栈的应用举例 【举例1】将从键盘输入的字符序列逆置输出 比如,从键盘上输入:tset a si sihT;算法将输出: This is a test 下面我们给出解决这个问题的完整算法。 typedef char StackEntry; void ReverseRead( ) { STACK S; //定义一个栈结构S char ch; InitStack(&S); //初始化栈