Stack ve Queue Mantığı: Python, PHP ve ASP Örnekleri
Veri yapıları, programlamada veriyi düzenli ve verimli şekilde saklamak için kullanılır. Stack (Yığın) ve Queue (Kuyruk), en temel veri yapılarındandır. Bu makalede, temel mantıklarını, kullanım alanlarını ve örnek uygulamalarını Python, PHP ve ASP ile göreceğiz.
Stack (Yığın) Mantığı
LIFO (Last In First Out) — son giren ilk çıkar
Örnek: Tarayıcı geri düğmesi, undo/redo işlemleri
Python Örneği
1Python - Stack23stack = []45Eleman ekleme (push)67stack.append(10)8stack.append(20)9stack.append(30)1011Eleman çıkarma (pop)1213print(stack.pop()) # 3014print(stack.pop()) # 2015print(stack) # [10]PHP Örneği
1PHP - Stack2<?php3$stack = array();45# Eleman ekleme (push)6array_push($stack, 10);7array_push($stack, 20);8array_push($stack, 30);910# Eleman çıkarma (pop)11echo array_pop($stack) . "\n"; // 3012echo array_pop($stack) . "\n"; // 201314print_r($stack); // [10]15?>ASP Örneği
1' ASP - Stack2Dim stack()3ReDim stack(-1)45' Eleman ekleme (push)6ReDim Preserve stack(0)7stack(0) = 108ReDim Preserve stack(1)9stack(1) = 2010ReDim Preserve stack(2)11stack(2) = 301213' Eleman çıkarma (pop)14Dim value15value = stack(UBound(stack))16ReDim Preserve stack(UBound(stack)-1)17Response.Write value & "<br>" ' 30Queue (Kuyruk) Mantığı
FIFO (First In First Out) — ilk giren ilk çıkar
Örnek: Banka kuyrukları, yazıcı işleri
Python Örneği
1Python - Queue23from collections import deque45queue = deque()67Eleman ekleme (enqueue)89queue.append(10)10queue.append(20)11queue.append(30)1213Eleman çıkarma (dequeue)1415print(queue.popleft()) # 1016print(queue.popleft()) # 2017print(queue) # deque([30])PHP Örneği
1PHP - Queue2<?php3$queue = array();45# Eleman ekleme (enqueue)6array_push($queue, 10);7array_push($queue, 20);8array_push($queue, 30);910# Eleman çıkarma (dequeue)11echo array_shift($queue) . "\n"; // 1012echo array_shift($queue) . "\n"; // 201314print_r($queue); // [30]15?>ASP Örneği
1' ASP - Queue2Dim queue()3ReDim queue(-1)45' Eleman ekleme (enqueue)6ReDim Preserve queue(0)7queue(0) = 108ReDim Preserve queue(1)9queue(1) = 2010ReDim Preserve queue(2)11queue(2) = 301213' Eleman çıkarma (dequeue)14Dim first15first = queue(0)16For i = 0 To UBound(queue)-117queue(i) = queue(i+1)18Next19ReDim Preserve queue(UBound(queue)-1)20Response.Write first & "<br>" ' 10Stack ve Queue İpuçları
Stack: geri alma işlemleri, fonksiyon çağrıları
Queue: görev sıralama, veri akışı kontrolü
Python’da deque, PHP’de array ve ASP’de ReDim Preserve ile kullanılabilir
0 yorum