yok rneği ben yazmadım ben sadece açıklamaları Türkçeye çevirdim birde o yazdırma kısmıyla main kısmını birleştirdim o kadar. Veri yapılarının teorisini masal gibi anlatıp durdular ama pratikte hep tutuldum kaldım, onun için şunları byle byle hem ben ğreneyim hem de anladığım kadarıyla kendi ağzımdan anlatayım ki başkalarınında işine yarasın dedim. Yardıma ihtiyacım olunca konu açıyorum ama yinede bi sıkıntı olursa pm atarım çok sağol :) :)

unide paso bu kutulari cizip hoca bisiler anlatio ve ben magradan cikmis gibi hissediodum kendimi :D valla suan hassiktir olay bumuymus lan die sitemde bulundum eyw murid saolasin valla benim isime yaradi Nice babayigitler kirayi kim odeyecek, coluk cocuk ne yiyecek derdinden dolayi dunyayi degistiremiyor.

Teşekkürler. zamanında digital design dersinde bunlar bana saç baş yoldurmuştur :D

Bağlantılı liste veriyi bellekte düzenli bir şekilde tutmak için kullanılan veri yapılarından birisidir. Ve listeler düğümlerden oluşur, her bir düğüm kendine ait veriyi ve bir sonraki düğümün bellek adresini tutar. "Veriyi tutuyoruz da bir sonraki düğümün bellek adresi ne alaka?" bir sonraki düğümün bellek adresini tutmamızın sebebi pointerlarla çalışıyor olmamız ve veriye değişkenlerle değil de direk bellek üzerinden eriştiğimiz için bellek adresini tutmalıyız ki listedeki elemanların sırası bozulmasın ve istediğimiz elemana ulaşabilelim. Bu mantık okullarımızda genelde kıllatıla kıllatıla yahut yarım yamalak anlatıldığından anlamıyoruz ama gayet basit . Şyle ki; bir düğüm yapısı oluştur struct yahut class ile bu yapıya ait iki şey olsun, biri değer bir diğeride bir sonraki değer tutulacak düğümün bellek adresi ilk düğümü oluştur, değerini ata ve bir sonraki düğüme 0 değerini atayarak sonraki düğümü belirle daha sonra aynı işlemi gerçekleştirmeye devam ederek listeni oluştur verilerini düzenli bir şekilde tut bellekte. Grsel olarak; Kod kısmı; #include <iostream> using namespace std; struct node ; int main { node root; // liste başını kaybetmememiz için ilk adres burada tutuluyor node conductor; // This will point to each node as it traverses the list root = new node; // Sets it to actually point to something root->next = 0; // Otherwise it would not work well root->x = 12; conductor = root; // Kondüktr ilk noktayı işaret ediyor if ( conductor!= 0 ) conductor->next = new node; // Listenin sonunda yeni bir düğüm oluşturuluyor conductor = conductor->next; // Oluşturduğumuz düğüm işaret ediliyor conductor->next = 0; // Listenin gelişigüzel gitmemesi için son eklediğimiz düğümden sonraya 0 atanıyor. conductor->x = 42; conductor->next = new node; // Listenin sonunda yeni bir düğüm oluşturuluyor conductor = conductor->next; // Oluşturduğumuz düğüm işaret ediliyor conductor->next = 0; // Listenin gelişigüzel gitmemesi için son eklediğimiz düğümden sonraya 0 atanıyor. conductor->x = 31; //Burdan sonra kondüktrü başa taşıyıp yazdırma işlemini yaptırıyoruz. Bu kod bloğunu yazdırma fonksiyonu olarak kullanıyoruz. conductor = root; if ( conductor!= 0 ) { //Bir başlangıç noktası olup olmadığı kontrol ediliyor while ( conductor->next!= 0 ) //bu if burda olmasada olur ancak olası hataların nüne geçmek için kullanılıyor cout<< conductor->x<<endl; //while son elemana geldiğinde durduğu için son elemanı bu satırla yazdırıyoruz } system ; } Çalıştırın deneyin uğraşın. Sadece bundan ibaret değil; ekleme, çıkarma, araya ekleme, aradan çıkarma gibi işlemler de var. Kodların bulunduğu sayfa: http://www.cprogramming.com/tutorial/lesson15.html olabildiğince anlatmaya çalıştım, kusurum varsa affola... :)

wasd fonksiyonlarda kullanmaya ozen goster. Ayrica OOP ile yaparsan daha iyi olur kendini gelistirmen acisindan bir sey lzm olursa sorarsin. Iyi calismalar Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver!!! // Hayatin herkes icin bir bavulu vardir!!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin