中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++棧的使用方法

發布時間:2021-07-20 04:33:11 來源:億速云 閱讀:206 作者:chen 欄目:編程語言

本篇內容介紹了“C++棧的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

想要充分的掌握C++棧技術,那么就要對C++中的結構、語句、變量、函數、預處理指令、輸入和輸出等內容進行了解掌握,下文除了學習C++棧的基本性質外還對C++棧的新特性進行全面研究。

應該怎么做?只要把書放在頂端就可以了。如果你想從這堆書中取出第3本呢?你只要一本接著一本把書移到頂端,直到第3本書處在頂端。然后取走第3本書,并使其他處在頂端。

你已經注意到我使用頂端這個詞語。沒錯,頂端(頂)對于堆至關重要的。堆只允許從頂端加入數據,出/退也是從頂。就是這么簡單。那什么情況使用堆?堆被用在每一個進程中。每一個進程都一個堆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--;   }   }   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)。我猜你也明白為什么了。讓我們看看如何編譯、執行此程序的。我們首先創建一個叫top的變量,使它處在C++棧頂位置。賦值-1,表示堆是空的。當有數據輸入,top自動加1,并把數據存入arr數組中。對于這個數據結構有一個缺點。我們最多只能放10個元素。

“C++棧的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

翼城县| 安仁县| 云林县| 莲花县| 临江市| 油尖旺区| 四子王旗| 湟源县| 新津县| 中江县| 乐平市| 河南省| 房山区| 柳江县| 西华县| 西乌珠穆沁旗| 孝义市| 保靖县| 镇安县| 建阳市| 龙陵县| 永济市| 闸北区| 山东省| 阿克苏市| 临猗县| 馆陶县| 虎林市| 岳西县| 潜江市| 烟台市| 渑池县| 阿巴嘎旗| 都匀市| 华阴市| 临沧市| 益阳市| 兰西县| 南京市| 台东县| 新宾|