本篇內容介紹了“C++棧的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創(chuàng)新互聯(lián)是一家專注于成都網站制作、網站設計、外貿網站建設與策劃設計,紫陽網站建設哪家好?成都創(chuàng)新互聯(lián)做網站,專注于網站建設十多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:紫陽等地區(qū)。紫陽做網站價格咨詢:13518219792
想要充分的掌握C++棧技術,那么就要對C++中的結構、語句、變量、函數、預處理指令、輸入和輸出等內容進行了解掌握,下文除了學習C++棧的基本性質外還對C++棧的新特性進行全面研究。
應該怎么做?只要把書放在頂端就可以了。如果你想從這堆書中取出第3本呢?你只要一本接著一本把書移到頂端,直到第3本書處在頂端。然后取走第3本書,并使其他處在頂端。
你已經注意到我使用頂端這個詞語。沒錯,頂端(棧頂)對于堆棧至關重要的。堆棧只允許從頂端加入數據,出棧/退棧也是從棧頂。就是這么簡單。那什么情況使用堆棧?堆棧被用在每一個進程中。每一個進程都一個堆C++棧,數據和地址從堆棧中被取出來/添加進來。棧頂規(guī)則在這里也符合。
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--; } } int pop() // Delete Item. Returns the deleted item { if(top==-1) { cout<<"STACK IS EMPTY!!!"< return NULL; } else { int data=arr[top]; //Set Topmost Value in data arr[top]=NULL; //Set Original Location to NULL top--; // Decrement top by 1 return data; // Return deleted item } } }; int main() { stack a; a.push(3); cout<<"3 is Pushed\n"; a.push(10); cout<<"10 is Pushed\n"; a.push(1); cout<<"1 is Pushed\n\n"; cout< cout< cout< return 0; }
我們可以很清楚的看到***入C++棧的數據***個出棧。這就是為什么堆棧被成為LIFO(后進先出,Last In First Out)。我猜你也明白為什么了。讓我們看看如何編譯、執(zhí)行此程序的。我們首先創(chuàng)建一個叫top的變量,使它處在C++棧頂位置。賦值-1,表示堆棧是空的。當有數據輸入,top自動加1,并把數據存入arr數組中。對于這個數據結構有一個缺點。我們最多只能放10個元素。
“C++棧的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!