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 ve Queue veri yapıları, algoritmalarda ve uygulama geliştirmede çok sık kullanılır.

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 - Stack
2
3stack = []
4
5Eleman ekleme (push)
6
7stack.append(10)
8stack.append(20)
9stack.append(30)
10
11Eleman çıkarma (pop)
12
13print(stack.pop()) # 30
14print(stack.pop()) # 20
15print(stack) # [10]

PHP Örneği

1PHP - Stack
2<?php
3$stack = array();
4
5# Eleman ekleme (push)
6array_push($stack, 10);
7array_push($stack, 20);
8array_push($stack, 30);
9
10# Eleman çıkarma (pop)
11echo array_pop($stack) . "\n"; // 30
12echo array_pop($stack) . "\n"; // 20
13
14print_r($stack); // [10]
15?>

ASP Örneği

1' ASP - Stack
2Dim stack()
3ReDim stack(-1)
4
5' Eleman ekleme (push)
6ReDim Preserve stack(0)
7stack(0) = 10
8ReDim Preserve stack(1)
9stack(1) = 20
10ReDim Preserve stack(2)
11stack(2) = 30
12
13' Eleman çıkarma (pop)
14Dim value
15value = stack(UBound(stack))
16ReDim Preserve stack(UBound(stack)-1)
17Response.Write value & "<br>" ' 30

Queue (Kuyruk) Mantığı

FIFO (First In First Out) — ilk giren ilk çıkar

Örnek: Banka kuyrukları, yazıcı işleri

Python Örneği

1Python - Queue
2
3from collections import deque
4
5queue = deque()
6
7Eleman ekleme (enqueue)
8
9queue.append(10)
10queue.append(20)
11queue.append(30)
12
13Eleman çıkarma (dequeue)
14
15print(queue.popleft()) # 10
16print(queue.popleft()) # 20
17print(queue) # deque([30])

PHP Örneği

1PHP - Queue
2<?php
3$queue = array();
4
5# Eleman ekleme (enqueue)
6array_push($queue, 10);
7array_push($queue, 20);
8array_push($queue, 30);
9
10# Eleman çıkarma (dequeue)
11echo array_shift($queue) . "\n"; // 10
12echo array_shift($queue) . "\n"; // 20
13
14print_r($queue); // [30]
15?>

ASP Örneği

1' ASP - Queue
2Dim queue()
3ReDim queue(-1)
4
5' Eleman ekleme (enqueue)
6ReDim Preserve queue(0)
7queue(0) = 10
8ReDim Preserve queue(1)
9queue(1) = 20
10ReDim Preserve queue(2)
11queue(2) = 30
12
13' Eleman çıkarma (dequeue)
14Dim first
15first = queue(0)
16For i = 0 To UBound(queue)-1
17queue(i) = queue(i+1)
18Next
19ReDim Preserve queue(UBound(queue)-1)
20Response.Write first & "<br>" ' 10

Stack 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

Stack ve Queue mantığını anlamak, ileri seviye algoritmalar ve veri yapıları için temel oluşturur.




konu hakkında tepkinizi verebilirsiniz