摘要:什么是鏈式隊列隊列是一種先進先出的存儲結構是一種特殊的線性表,于它只允許在表的前端進行刪除操作,而在表的后端進行插入操作。
什么是鏈式隊列
隊列是一種“先進先出”的存儲結構,是一種特殊的線性表,于它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作。
通常隊列可以分為順序隊列和鏈式隊列兩種實現,
順序隊列顧名思義就是采用順序存儲,如以數組方式來實現,
鏈式隊列采用鏈式存儲,如以上篇說到的單向鏈表來實現,
鏈式隊列是以鏈式數據結構實現的隊列
隊列有兩個基本的操作,入隊列和出隊列
代碼實現
鏈式隊列實現方式多種多樣,可以以單鏈表,雙向鏈表,循環鏈表等各種方式來實現,這里以上篇提到的單鏈表的方式來實現。
</>復制代碼
isEmpty()) {
throw new Exception("隊列為空");
}
$node = parent::searchNodeByIndex(1);
parent::deleteNodeByIndex(1);
return $node->data;
}
/**
* 隊列是否為空
* @return bool
*/
public function isEmpty()
{
return $this->header->next == null;
}
}
示例
</>復制代碼
$queue = new QueueImplementedBySingleLinkList();
$queue->enQueue("1");
$queue->enQueue("2");
$queue->enQueue("3");
$queue->enQueue("4");
var_dump($queue);
echo "-----------", PHP_EOL;
$queue->deQueue();
$queue->deQueue();
var_dump($queue);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29872.html
摘要:數據結構數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。不同類型的數據結構編程世界中存在許多不同類型的數據結構。可以將集合數據結構進行排序,并將其稱為有序集合。 數據結構基本概念 數據元素(Data Element) 數據元素是數據的基本單位,在計算機程序中通常將其作為一個整體進行考慮和處理。一個數據元素可由若干個數據項組成。 數據項 (Data Item) 數據項是數據結...
摘要:中文文檔簡單說,對象就是的回調函數解決方案。為了讓回調函數的名字統一,便于在中使用。普通操作的回調函數接口對象的最大優點,就是它把這一套回調函數接口,從操作擴展到了所有操作。指定操作成功時的回調函數。 參考鏈接 jQuery API中文文檔 jQuery.Deferred jQuery.when jQuery的deferred對象詳解 jQuery deferred 對象的 prom...
摘要:棧底是固定的,而棧頂浮動的如果棧中元素個數為零則被稱為空棧。入棧將數據保存到棧頂。鏈棧鏈棧是指棧的鏈式存儲結構,是沒有附加頭節點的運算受限的單鏈表,棧頂指針是鏈表的頭指針。 一、喜歡單挑線性表 1.線性表的特性 線性表是一個線性結構,它是一個含有n≥0個節點的有限序列。在節點中,有且僅有一個開始節點沒有前驅并有一個后繼節點,有且僅有一個終端節點沒有后繼并有一個前驅節點。其他的節點都有且...
閱讀 2030·2021-09-29 09:35
閱讀 1958·2019-08-30 14:15
閱讀 2981·2019-08-30 10:56
閱讀 967·2019-08-29 16:59
閱讀 581·2019-08-29 14:04
閱讀 1315·2019-08-29 12:30
閱讀 1033·2019-08-28 18:19
閱讀 518·2019-08-26 11:51