首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

数据结构:stack栈的初始化、进栈、出栈及显示栈元素

2012-12-18 
数据结构:stack栈的初始化、入栈、出栈及显示栈元素#includeiostream.hconst int MAX5//假定栈中最多保

数据结构:stack栈的初始化、入栈、出栈及显示栈元素

#include<iostream.h>const int MAX=5;     //假定栈中最多保存5个数据//定义名为stack的类,其具有栈功能class  stack {    //数据成员    float  num[MAX];  //存放栈数据的数组    int  top;          //指示栈顶位置的变量public:    //成员函数    void init(void) { top=0; }    //初始化函数    void push(float x)          //入栈函数    {        if (top==MAX){            cout<<"Stack is full !"<<endl;            return;        };        num[top]=x;        top++;    }    float pop(void)          //出栈函数    {        top--;        if (top<0){        cout<<"Stack is underflow !"<<endl;        return 0;        };        return num[top];    }}//以下是main()函数,其用stack类创建栈对象,并使用了这些对象main(void){    //声明变量和对象    int i;    float x;    stack a,b;    //声明(创建)栈对象    //以下对栈对象初始化    a.init();    b.init();    //以下利用循环和push()成员函数将2,4,6,8,10依次入a栈对象    for (i=1; i<=MAX; i++)        a.push(2*i);    //以下利用循环和pop()成员函数依次弹出a栈中的数据并显示    for (i=1; i<=MAX; i++)       cout<<a.pop()<<"  ";    cout<<endl;    //以下利用循环和push()成员函数将键盘输入的数据依次入b栈    cout<<"Please input five numbers."<<endl;    for (i=1; i<=MAX; i++) {         cin>>x;         b.push(x);    }     //以下利用循环和pop()成员函数依次弹出b栈中的数据并显示    for (i=1; i<=MAX; i++)       cout<<b.pop()<<"  ";}

热点排行