在开发这个大的领域,C++堆栈是一个不容忽视的概念,但是很多人而是不妨搞开发的一些专业的人士也没有明确堆栈其实是两种数据结构,其实堆栈都是一种数据项按序排列的数据结构。

成都创新互联是一家集网站建设,呼兰企业网站建设,呼兰品牌网站建设,网站定制,呼兰网站建设报价,网络营销,网络优化,呼兰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
你已经注意到我使用顶端这个词语。没错,顶端(栈顶)对于堆栈至关重要的。C++堆栈只允许从顶端加入数据,出栈/退栈也是从栈顶。就是这么简单。那什么情况使用堆栈?堆栈被用在每一个进程中。
每一个进程都一个堆栈,数据和地址从堆栈中被取出来/添加进来。栈顶规则在这里也符合。ESP Register 添加一个指针,指向栈顶。无论如何,解释进程中的堆栈怎么工作,已超出本教程范围,让我们开始写数据结构。在开始之前,请大家记住一些堆栈术语。向C++堆栈插入新元素成为入栈,从堆栈中删除元素成为出栈。
以下是引用片段:
- #include
 - using namespace std;
 - #define MAX 10 // MAXIMUM STACK CONTENT
 - class stack
 - {
 - private:
 - int arr[MAX]; // Contains all the Data
 - int top; //Contains location of Topmost Data pushed onto Stack
 - public:
 - stack() //Constructor
 - {
 - top=-1; //Sets the Top Location to -1 indicating an empty stack
 - }
 - void push(int a) // Push ie. Add Value Function
 - {
 - top++; // increment to by 1
 - if(top
 - {
 - arr[top]=a; //If Stack is Vacant store Value in Array
 - }
 - else
 - {
 - cout<<"STACK FULL!!"<
 - top--;
 - }
 - }
 
我们可以很清楚的看到***入栈的数据***个出栈。这就是为什么C++堆栈被成为LIFO(后进先出,Last In First Out)。我猜你也明白为什么了。让我们看看如何编译、执行此程序的。
我们首先创建一个叫top的变量,使它处在栈顶位置。赋值-1,表示C++堆栈是空的。当有数据输入,top自动加1,并把数据存入arr数组中。对于这个数据结构有一个缺点。我们最多只能放10个元素。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号