您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C++棧的使用方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
想要充分的掌握C++棧技術(shù),那么就要對(duì)C++中的結(jié)構(gòu)、語句、變量、函數(shù)、預(yù)處理指令、輸入和輸出等內(nèi)容進(jìn)行了解掌握,下文除了學(xué)習(xí)C++棧的基本性質(zhì)外還對(duì)C++棧的新特性進(jìn)行全面研究。
應(yīng)該怎么做?只要把書放在頂端就可以了。如果你想從這堆書中取出第3本呢?你只要一本接著一本把書移到頂端,直到第3本書處在頂端。然后取走第3本書,并使其他處在頂端。
你已經(jīng)注意到我使用頂端這個(gè)詞語。沒錯(cuò),頂端(棧頂)對(duì)于堆棧至關(guān)重要的。堆棧只允許從頂端加入數(shù)據(jù),出棧/退棧也是從棧頂。就是這么簡(jiǎn)單。那什么情況使用堆棧?堆棧被用在每一個(gè)進(jìn)程中。每一個(gè)進(jìn)程都一個(gè)堆C++棧,數(shù)據(jù)和地址從堆棧中被取出來/添加進(jìn)來。棧頂規(guī)則在這里也符合。
ESP Register 添加一個(gè)指針,指向C++棧頂。無論如何,解釋進(jìn)程中的堆棧怎么工作,已超出本教程范圍,讓我們開始寫數(shù)據(jù)結(jié)構(gòu)。在開始之前,請(qǐng)大家記住一些堆棧術(shù)語。向堆棧插入新元素成為入棧,從堆棧中刪除元素成為出棧。
#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++棧的數(shù)據(jù)***個(gè)出棧。這就是為什么堆棧被成為L(zhǎng)IFO(后進(jìn)先出,Last In First Out)。我猜你也明白為什么了。讓我們看看如何編譯、執(zhí)行此程序的。我們首先創(chuàng)建一個(gè)叫top的變量,使它處在C++棧頂位置。賦值-1,表示堆棧是空的。當(dāng)有數(shù)據(jù)輸入,top自動(dòng)加1,并把數(shù)據(jù)存入arr數(shù)組中。對(duì)于這個(gè)數(shù)據(jù)結(jié)構(gòu)有一個(gè)缺點(diǎn)。我們最多只能放10個(gè)元素。
“C++棧的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。