算法导论 chapter 10.1 Page233 Stack push and pop

来源:互联网 发布:阿里云的黑洞模式 编辑:程序博客网 时间:2024/06/06 00:22
//***算法导论 chapter 10 Elementary Data Structures***/////Page 233 伪代码转换成代码//Stack push and pop#include <iostream>#define TRUE 1#define FALSE 0using namespace std;int stack_array[20]={0};//定义一个数组,当做桟来使用 int top=0;              //top指示桟的顶端元素,0代表桟为空//判断桟是否为空,为空返回1,反之为0 int stack_empty(int top){if(top==0)    return TRUE;    else         return FALSE;}//将新元素x压入桟中 int push(int *ptr, int x){top+=1;*(ptr+top)=x;return 0;}//将顶端的元素弹出桟,并返回弹出的元素 int pop(int *ptr){if(stack_empty(top)==1)    cout<<"underflow"<<endl;    else    {    top-=1;    return *(ptr+top+1);    }    return 0;}//打印桟void print_stack(int *ptr){if(stack_empty(top)==1)    cout<<"The stack is empty."<<endl;    else    {    for(int i=1;i<=top;++i)    {    cout<<*(ptr+i)<<" ";    }    cout<<"Top = "<<top;    cout<<endl;    }} int main(){    push(stack_array,15);    push(stack_array,6);    push(stack_array,2);    push(stack_array,9);    print_stack(stack_array);        pop(stack_array);    print_stack(stack_array);    return 0;} 

0 0
原创粉丝点击