C語言中的棧和佇列有什麼共同點

2021-03-07 06:44:23 字數 825 閱讀 7382

1樓:匿名使用者

棧(stack)又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。

向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

都是端點操作,佇列是fifo(first in first out),棧是lifo(last in first out),指標的話佇列有兩個,棧只有一個top指標

以上是從資料結構角度來看,從作業系統角度來看,所有的資料結構都是對虛擬記憶體的操作,堆是堆,棧是棧,棧指的是c語言函式所使用的自動有函式**的虛擬記憶體空間,而堆則有作業系統堆管理器來管理的那部分虛擬記憶體,從c語言角度來看,使用malloc函式動態分配的記憶體,就是堆記憶體。

2樓:永_在

都是端點操作,佇列是fifo(first in first out),棧是lifo(last in first out),指標的話佇列有兩個,棧只有一個top指標

3樓:帷幕

只允許在端點處插入和刪除元素

4樓:匿名使用者

你是就什麼而言呢?是談及儲存結構麼?

簡單的說,就是:

棧的元素只能從隊尾進隊尾出,而佇列的元素是從隊尾進隊頭出。

C 中類的繼承和類的組合之間有什麼共同點,區別是什麼?非常

繼承和組合都允許由已存在的型別建立新型別,兩者都是在新型別中嵌入已存在的型別的 子物件。區別是組合只實現了用一個也有的型別建立一個新的型別,而繼承不僅可以建立一個新的型別,還可以使用原來型別的介面。組合和繼承的共同點 繼承和組合的使用都可以減少重複 同時若類b是類a的內嵌物件,則b類具有a類的全部資...

蠟的熔化和海波的熔化有什麼共同點和區別

1 共同點 1 在熔化過程中都需要加熱 2 都是從固態變成了液態。2 不同點 1 本質不同 海波是晶體,有熔點和凝固點,雖然吸放熱,但溫度保持不變。因此,它的熔化和凝固資料中有一段時間溫度相同。石蠟是非晶體,沒有熔點和凝固點,因此,它的熔化和凝固資料中溫度一直在變化。2 實驗現象不同 給海波加熱過程...

C語言中迴圈佇列的隊滿和隊空的判斷條件各是什麼?有什麼不同

隊空時 q.front q.rear 隊滿時 q.front q.rear 1 maxsize front指向隊首元素,rear指向隊尾元素的下一個元素。maxsize是佇列長度。擴充套件資料 實現的 include include define maxsize 100 最大佇列長度 define ...