国产精品久久久久久人妻热-精品中文日韩色影院-日本免费三区二道视频-东莞大鸡吧操小骚逼免费视频-色哟哟免费专区国产精品-女女女女女女BNBBBB毛-日韩有码免费在线播放-欧美在线免费观看一区二区-亚洲精品天堂在线地址

什么是棧? 棧的定義是什么


棧又名堆棧,它是一種運(yùn)算受限的線性表 。其限制是僅允許在表的一端進(jìn)行插入和刪除運(yùn)算 。這一端被稱為棧頂,相對地,把另一端稱為棧底 。向一個棧插入新元素又稱作進(jìn)棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素 。
【什么是棧? 棧的定義是什么】

棧是用來存放基本類型的變量數(shù)據(jù)和對象的引用,但對象本身不存放在棧中,而是存放在堆(new出來的對象)或者常量池中(字符串常量對象存放的常量池中) 。當(dāng)程序進(jìn)入一個方法時(shí) , 會為這個方法單獨(dú)分配一塊私屬存儲空間,用于存儲這個方法內(nèi)部的局部變量,當(dāng)這個方法結(jié)束時(shí),分配給這個方法的棧會被釋放,這個棧中的變量也將隨之釋放 。棧作為一種數(shù)據(jù)結(jié)構(gòu),是一種只能在一端進(jìn)行插入和刪除操作的特殊線性表 。它按照后進(jìn)先出的原則存儲數(shù)據(jù),先進(jìn)入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂 , 需要讀數(shù)據(jù)的時(shí)候從棧頂開始彈出數(shù)據(jù)(最后一個數(shù)據(jù)被第一個讀出來) 。


棧具有記憶作用 , 對棧的插入與刪除操作中,不需要改變棧底指針 。棧是允許在同一端進(jìn)行插入和刪除操作的特殊線性表 。允許進(jìn)行插入和刪除操作的一端稱為棧頂(top),另一端為棧底(bottom);棧底固定,而棧頂浮動;棧中元素個數(shù)為零時(shí)稱為空棧 。插入一般稱為進(jìn)棧(PUSH),刪除則稱為退棧(POP) 。棧也稱為后進(jìn)先出表 。

    推薦閱讀