Разлика между версии на „Опашка (абстрактен тип данни)“

Съществува и вариант, при който указателите на елементите сочат и към предишния, и към следващия елемент на опашката(когато съществуват такива). Тогава списъкът е двойно свързан (или двусвързан). Така опашката може при нужда да бъде обхождана и в двете посоки.
== Примери за използване на опашка ==
Пример за употреба на опашка в [[C#]]
<code language="csharp">
using System;
using System.Collections.Generic;
 
class QueueExample
{
static void Main()
{
Queue<int> numbersQueue = new Queue<int>();
 
// Example 1
for (int i = 0; i < 10; i++)
{
numbersQueue.Enqueue(i);
}
 
while (numbersQueue.Count > 0)
{
Console.WriteLine(numbersQueue.Dequeue());
}
 
// Example 2
for (int i = 0; i < 10; i++)
{
numbersQueue.Enqueue(i);
}
 
while (numbersQueue.Peek() != 5)
{
Console.WriteLine(numbersQueue.Dequeue());
}
 
// Example 3
Queue<string> stringQueue = new Queue<string>();
for (int i = 0; i < 10; i++)
{
stringQueue.Enqueue("string" + i.ToString());
}
while (stringQueue.Count > 0)
{
Console.WriteLine("Press any key to see next element");
Console.ReadKey();
Console.WriteLine("Next element: " + stringQueue.Dequeue());
}
}
}
</code>
 
Пример за употреба на опашка в [[JavaScript]]
<code language="javascript">
<body>
<button onclick="startScript()">Test Script</button>
<script type="text/javascript">
function startScript() {
// Example 1
var queue = new Array();
for (var i = 0; i < 5; i++) {
queue.push(i);
}
 
while (queue.length > 0) {
alert(queue.shift());
}
 
// Example 2
for (var i = 0; i < 10; i++) {
queue.push("string" + i);
}
 
while (queue.length > 0) {
alert(queue.shift());
}
}
</script>
</body>
</code>
 
== Източници ==
<ref>Светлин Наков, Веселин Колев и колектив. [http://www.introprogramming.info/intro-csharp-book/ Въведение в програмирането със C#]. Велико Търново, Фабер, 2011. ISBN 978-954-400-527-6. с. 1116.</ref>
69

редакции