数据结构:stack栈的初始化、入栈、出栈及显示栈元素
2012-12-10 10:37
330 查看
#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()<<" "; }
文献来源:
UNDONER(小杰博客) :http://blog.csdn.net/undoner
LSOFT.CN(琅软中国) :http://www.lsoft.cn
相关文章推荐
- 数据结构:stack栈的初始化、入栈、出栈及显示栈元素
- 数据结构栈的数组实现初始化,入栈,出栈,获取栈顶元素,栈的长度等操作
- C++栈的初始化,入栈,出栈,获取栈顶元素等操作
- 栈的顺序存储的初始化、判断栈空、入栈、出栈、读取栈顶元素、栈置空、求栈长操作
- 链式堆栈的初始化、出栈、入栈、取栈顶元素、判空
- 栈的链式存储的定义、初始化、判断空、入栈、出栈、读取栈顶元素、求栈长度、清空栈操作
- 链栈的初始化 入栈 出栈 打印栈中的元素等基础内容
- 链栈:初始化、判断栈空、入栈、出栈、获取栈顶元素等
- C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
- 【数据结构之旅】顺序栈的定义、初始化、空栈判断、入栈、出栈操作
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构--如何对一个线性表里面的元素赋值,并且显示插入一个数据后的情况
- (五)链式栈的初始化、入栈和出栈
- 顺序栈和链式栈的结构及其基本操作(置空,获取栈顶元素,入栈,出栈)
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构学习笔记8--n个元素进栈,共有多少种出栈顺序?
- 元素出栈、入栈顺序的合法性(判断一个字符串是否按照出栈顺序)
- 判断元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1)是合法序列
- Java 用数组实现栈 (Stack),包括栈的初始化,入栈、出栈等操作