posts - 89, comments - 241, trackbacks - 0, articles - 1
             :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          Posted on 2009-08-03 18:19 saobaolu 閱讀(667) 評論(0)  編輯  收藏 所屬分類: java基礎與算法
          棧(stack)在計算機科學中是限定僅在表尾進行插入或刪除操作的線形表。
              棧是一種數據結構,它按照先進后出的原則存儲數據,先進入的數據被壓入棧底,最后的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最后一個數據被第一個讀出來)。
              棧是只能在某一端插入和刪除的特殊線性表。用桶堆積物品,先堆進來的壓在底下,隨后一件一件往堆。取走時,只能從上面一件一件取。堆和取都在頂部進行,底部一般是不動的。
            棧就是一種類似桶堆積物品的數據結構,進行刪除和插入的一端稱棧頂,另一堆稱棧底。插入一般稱為進棧(PUSH),刪除則稱為退棧(POP)。 棧也稱為后進先出表(LIFO表)。
              1、進棧(PUSH)算法
                  ①若TOP≥n時,則給出溢出信息,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢出;不滿則作②);
                  ②置TOP=TOP+1(棧指針加1,指向進棧地址);
                  ③S(TOP)=X,結束(X為新進棧的元素);
              2、退棧(POP)算法
                ①若TOP≤0,則給出下溢信息,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②);
                ②X=S(SOP),(退棧后的元素賦給X);
                ③TOP=TOP-1,結束(棧指針減1,指向棧頂)。
          棧可以用來在函數調用的時候存儲斷點,做遞歸時要用到棧!

          沒有所謂的命運,只有不同的選擇!
          主站蜘蛛池模板: 垦利县| 昌黎县| 大化| 金乡县| 阳西县| 五大连池市| 彭山县| 江城| 山东省| 烟台市| 成武县| 洪江市| 凯里市| 临湘市| 琼海市| 信宜市| 青州市| 奉新县| 沂源县| 武川县| 时尚| 康马县| 西吉县| 达日县| 新晃| 仁寿县| 运城市| 重庆市| 鄂伦春自治旗| 盐城市| 广安市| 藁城市| 新密市| 景宁| 富锦市| 沙坪坝区| 东光县| 手机| 德格县| 永宁县| 台江县|