izmir escort escort izmir porno porno izle
Linked List - IRCForumları - IRC ve mIRC Yardım ve Destek Platformu
User Tag List

Standart Linked List #1
Mesajlar: n/a
Aldığı Beğeni:
Beğendikleri:
07 Ağustos 2011 , 11:53
Alıntı ile Cevapla

Bu makalemizde sizlere veri yapılarından olan bağlı sıralı liste (Linked List) ve kuyruk (Queue) yapılarından bahsedeceğim.Öncelikler bu konular hakkında fikir edinip daha sonra source kodlarına döneceğiz.Yazacağımız kuyruk kodunu bağlı sıralı liste ile
oluşturacağız.
Bağlı sıralı liste önemli veri yapılarındandır.Dizilerin güçlerini yitirdiği yerlerde devreye girerler.Diziler programlama açısından kullanışlı olsada silme ve ekleme işlemlerinde yetersiz kalırlar.BU zayıflığı yenmek bağlı sıralı liste ile mümkün olmuştur.Bağlı sıralı liste silme ve ekleme işlemlerine iyi bir çözüm olacaktır.Tabi bu veri yapısınında eksik olduğu yerler mevcuttur.Arama ve geri çağırma işlemlerinde bağlı sıralı liste zayıf kalmaktadır.Bu sebeblerden ötürü bağlı sıralı liste (Linked List) yazılım dünyasında vazgeçilmezler arasında yer almıştır.Benim için bu veri yapısı özgürlük demektir.
Kuyruk veri yapısına gelecek olursak eğer ,nette gezerken denk geldiğim bu kuyruk hikayesi çok hoşuma gitti ve hemen site ile paylaşmaya karar verdim.Bu tür konu anlatımının hafızanızda daha iyi yer tutacağina inanıyorum.Şimdi veri yapılarından olan kuyruk ile devam edelim.
Yine örneklerle anlatalım. Bir banka sahibi olduğunuzu düşünün.
Sahibi olduğunuz banka büyük bir mali krizin eşiğinde ve müşterilerin paralarını çekmek
için bankanıza doğru yöneldikleri haberini alıyorsunuz. Pencereden dışarıya baktığınızda
müşterilerin teker teker bankanızın önünde kuyruğa girdiklerini görüyorsunuz.
Parasını çeken sıradan çıkıyor ve sıranın en önüne gelen yeni kişi parasını çekmeye hazırlanıyor. Ve bu arada sıraya yeni gelen kişiler de teker teker sıranın en arkasına dahil olarak sırayı büyütüyor. Sırada kimse kalmadığında siz de pencereden ayrılıp işinizin başına dönüyorsunuz.
Yukarıda anlattığım kısa hikaye kuyruk hakkında çok önemli bilgiler içeriyor.
Banka sırasına giren her kişi bir objeyi temsil ediyor. Sıraya ilk gelen kişi sıranın en sonundaki kişinin arkasına geçiyor (enqueue). Sıradan çıkan ilk kişi sıranın en önünde bulunan ve işini bitirmiş olan kişi oluyor (dequeue). Kuyruk hakkında bilmemiz gereken şey eklediğimiz obje, listemizin en sonuna eklenir ve istekte bulunduğumuz obje, listenin başından verilir. Ayrıca bu normal kuyruk yapısı dışında, öncelik kuyruğu (priortiy queue) veya olay kuyruğu (event queue) gibi diğer kuyruk yapıları da kullanılmaktadır.
Kuyruk veri yapısı bilgisayar alanında ağ , işletim sistemi istatistiksel hesaplama,simülasyon… ve bir çok yerde kullanılmaktadır.Örneğin yazıcı kuyruk yapısı ile işlemleri gerçekleştirmektedir.Yazdır komutu ile verilen birden fazla belgeden ilki yazdırılmakta,diğerleri ise kuyrukta bekletilmelte , sırası geldiğinde yazdırılmaktadır. Şİmdi source kodunu verelim;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
/*

* Written: Seyhan

* www.<A class="st_tag internal_tag" title="Posts tagged with thecoders" href="http://www.coders.gen.tr/etiket/thecoders" rel=tag>thecoders</A>.net

* seyhan@<A class="st_tag internal_tag" title="Posts tagged with thecoders" href="http://www.coders.gen.tr/etiket/thecoders" rel=tag>thecoders</A>.net

*/

import <SPAN class=colorKeywords18 sizcache="0" sizset="20"><STRONG sizcache="0" sizset="20"><A class="st_tag internal_tag" title="Posts tagged with Java" href="http://www.coders.gen.tr/etiket/java" rel=tag>Java</A></STRONG></SPAN>.io.*;

//================================================== =====

class Link

{

public double data;

public Link next;

//==================================================

public Link(double d)

{

data = d;

next = null;

}

//================================================

public void display()

{

<SPAN class=colorKeywords33><STRONG>system</STRONG></SPAN>.out.print(data+"--");

}

//=================================================

}

//************************************************** *********************

class FirstLastList

{

private Link first;

private Link last;

//================================================== =

public FirstLastList()

{

first = null;

last = null;

}

//================================================== =

public boolean isEmpty()

{

if(first == null)

return true;

else

return false;

}

//================================================== ===

public void insertLast(double item)

{

Link newlink = new Link(item);

if(isEmpty())

first = newlink;

else

last.next = newlink;

last = newlink;

}

//================================================== =

public double deleteFirst()

{

double temp = first.data;

if(first.next == null)

last = null;

first = first.next;

return temp;

}

//=================================================

public void displayList()

{

Link current = first;

while(current != null)

{

current.display();

current = current.next;

}

<SPAN class=colorKeywords33><STRONG>system</STRONG></SPAN>.out.println("");

}

//================================================== =

}

//************************************************** ********************

class LinkQueue

{

private FirstLastList theList;

//================================================== ==

public LinkQueue()

{

theList = new FirstLastList();

}

//================================================

public boolean isEmpty()

{

return theList.isEmpty();

}

//===============================================

public void insert(double j)

{

theList.insertLast(j);

}

//==================================================

public double remove()

{

return theList.deleteFirst();

}

//================================================== =

public void displayQueue()

{

<SPAN class=colorKeywords33><STRONG>system</STRONG></SPAN>.out.print("Queue ( front-->rear):");

theList.displayList();

}

//================================================== =

}

//************************************************** ************

class LinkQueueApp

{

public static void main(String[] args) throws IOException

{

LinkQueue theQueue = new LinkQueue();

theQueue.insert(20);

theQueue.insert(40);

theQueue.displayQueue();

theQueue.insert(60);

theQueue.insert(80);

theQueue.displayQueue();

theQueue.remove();

theQueue.remove();

theQueue.displayQueue();

}

}

//************************************************** ****************



Umarım herkes için yaralı bir çalışma olmuştur.Herkes en iyi şekilde faydalanabilir.Hekese kolay gelsin.


« Önceki Konu Sonraki Konu »

Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Benzer Konular
Konu
Konuyu Başlatan
Forum
Cevaplar
Son Mesaj
Volina
Türk Ünlülerin Fotoğrafları
10
22 Temmuz 2014 13:22
bLood
Aşk ve Sevgi
0
21 Aralık 2011 19:56
She`
Yabancı Şarkı Sözleri
0
25 Nisan 2011 15:08
aXi
Günün Sözü
0
12 Şubat 2011 02:52