Yazılım

Yığıt (Stack) Yapısı – C Programlama Dili

Yığıt (Stack) Yapısı – C Programlama Dili

 

Bilgisayar bilimindeki en kullanışlı kavramlardan biri yığıt veri yapısıdır. Dizideki eleman sayısı ne olursa olsun herhangi bir elemana ulaşmanın algoritma karmaşıklığı O(1)’dir. Fakat birçok problemin doğası, elemanlarına sadece bir noktadan ve belirli bir sıraya göre erişimi gerektirebilir. Bu tür uygulamalarda dizilerde olduğu gibi herhangi bir elemana istediğimiz anda ulaşmamız mümkün değildir. Ayrıca yeni bir eleman eklemek istediğimizde de bunu herhangi bir yere yerleştiremeyiz.

Bir kamyona yüklenen kutuların indirilmesi sırasında uyulması gereken bir sıra vardır. Bir halk otobüsü bir noktadan diğer noktaya seferinden sonra, geri dönüşünde gerçekleştireceği izlemede hangi duraklara uğrayacağı bellidir.

Eleman ekleme ve çıkarma işlemlerinin bir dizinin sadece bir ucundan yapılabildiği veri saklama sistemlerine yığıt (stack) denir. Yığıt veri yapısı, SON GİREN DATA – İLK ÇIKAN DATA OLUR (Last – In – First – Out (LIFO)) kuralıyla erişimin yapıldığı, ara elemanlarına erişilemeyen bir veri yapısıdır. Elemanın eklendiği ve çıkarıldığı noktaya yığıtın tepesi, ilk elemanın eklendiği en derin noktaya ise yığıtın tabanı denir.

Yığıt ve Temel İşlemlerinin Programlanması

Yığıt Oluşturma C Kodu

struct yığıt

{

int indis;

int elemanlar[yığıt_boyutu];

};

struct yığıt x;

Yığıtın Boş Olması Kontrolü C Kodu

boolean stack_empty(struct yığıt *ps)

{

if (ps -> indis == -1)

return true;

else

return false;

}

Yığıtın Dolu Olması Kontrolü C Kodu

boolean stack_full(struct yığıt *ps) {

if (ps -> top == yığıt_boyutu – 1)

return true;

else

return false;

}

Yığıta Eleman Ekleme C Kodu

void push(struct yığıt *ps, int x) {

if (stack_full(ps)) {

printf(“STACK DOLU!”);

exit(1);

}

else

ps -> elemanlar[++(ps -> indis)]= x;

}

Yığıttan Eleman Çıkarma C Kodu

void pop(struct yığıt *ps) {

if (stack_empty(ps)) {

printf(“STACK BOŞ!”);

exit(1);

}

else

ps -> elemanlar[(ps -> indis)–];

}

İlgili Makaleler

Göz Atın
Kapalı
Başa dön tuşu
fortune coinsfortune coins casinoslotomaniasupertotobet canli bahisonwin üyelikonwin güncel adresonwin mobilcasibom üyelikcasibom giriş linkijackpot partyscrooge slotonwinonwin giriştempobetSpree Casinoluckybird casinoyeni siteleryer alır www.theirishpubfl.comhttps://beverlywoodbakery.com/ deneme bonusuhouse of funhouse of fun slots casinoreal prizereal prize casinojefebetyay casino no deposit bonusspree casino logingrandpashabetgrandpashabetgrandpashabetcratosroyalbetgrandpashabetbetwoonjefebetjefebet comsweeps coins casinofree sc coins casinoataköy escortgrandpashabetjojobetholiganbet girişjustin tvmagical spintortuga casinoamon casinocasibomYeni casino siteleriBonus veren casinolarleonbet girişcasibom girisibetmatikbetmatik girişpizzeriaalgolosone.comballettea tropazhacklinkonwinonwin girişgrandpashabetmatbetdeneme bonusu veren sitelerJojobetbeylikdüzü escortcasibomcasibom girişAlanya escortbahsegelmatbetjojobetpusulabetholiganbetmarsbahisbets10 girişcasibomxslotbets10deneme bonusu veren sitelerholiganbeturl shortenerbetturkeySekabetcasibom güncel girişsahabetbetkanyonbetparkbetturkeycratosslotdinamobetdumanbetdumanbetkralbetkulisbetmeritkingnakitbahisotobettrendbetbetciobets10casibom girişpadişahbetcasibom girişcasibomselçuksportsholiganbethttps://www.gvscolombia.com/ultrabetbetkanyonvaycasinograndpashabetgrandpashabet girişgrandpashabettipobetcasibomgrandpashabetcasivalmarsbahisextrabetcasibom girişmaldives betcasibom girişCasibommarsbahiscasibom girişbahiscasinoTrbettrbet giriştrbet girişcasibom 887holiganbetholiganbetholiganbetjojobetcasibomPusulabetcasibomjojobetextrabetmatbetextrabet girişmatbetbetciomarsbahisbetistGrandpashabetcasibomGrandpashabetbets10grandpashabetİstanbul Escortgrandpashabethttps://www.gvscolombia.com/betebetimajbetdeneme bonusu veren sitelerkingroyalmarsbahis girişjojobetjojobet girişsahabetPadişahbetmrbahiscasibom güncel girişmarsbahisholiganbetzbahissahabetsekabetrestbetpinbahisonwinmobilbahismeritbetmavibetholiganbetmatbetmatadorbettrbettrbet girişbankobet girişjojobet güncel girişGrandpashabetbetciorestbetcasibomartemisbetgrandpashabetmatadorbetmaltcasinoholiganbetmarsbahisonwinsahabetsekabetmatbetimajbetmaltcasinovaycasinocanlı bahispusulabetcasibomcasibom girişvaycasinocasibomcasibom girişcasibom girişcasibom güncel girişjojobetcasibomcasibom girişCasibomtarafbetsafirbetodeonbetngsbahismariobetcoinbarpusulabettempobetmarsbahisonwinstarzbetcasibomcasibomdeneme bonusu veren sitelerbetebet güncel girişkralbethttp://escortbayanpendik.comSAFİRKralbetcasibom güncel girişmarsbahisimajbet, imajbet güncel girişmatbet, matbet girişjojobet, jojobet girişholiganbet,holiganbet giriş,holiganbet güncel giriş,holiganbet resmi girişsekabet,sekabet giriş,sekabet güncel giriş,sekabet resmi girişonwin,onwin giriş,onwin güncel,onwin dogrumarsbahis,marsbahis güncel giriş , marsbahis giriş,marsbahis adresgrandpashabetmobilbahiscasinomaxicasinometropolzbahispinbahismeritbetbets10jojobetkingroyalmavibet