Veri yapıları, verimli yollarla erişilebilmesi ve değiştirilebilmesi için verileri önceden belirlenmiş bir formatta depolamak ve düzenlemek gibi gerçekleştirmek istediğiniz birçok şeyin yapı taşlarıdır. Gerektiğinde bilgileri bulmanızı ve almanızı kolaylaştırır. Veri yapıları, sıralı verileri depolamak için kullanılan verilerin mantıksal temsilidir, böylece bunlar üzerinde çeşitli işlemler gerçekleştirilebilir. Bilgisayar programında bilgi depolamanın ve almanın birçok yolu vardır. Yığın ve Dizi, verileri Nesne yönelimli programlama dilinde depolamanın en yaygın iki yoludur. Kesinlikle bir dizi ile bir yığın uygulayabilirsiniz. Ancak, ikisi arasındaki temel fark erişimdir.
Bir yığın, öğelerin bir yığın kitap gibi üst üste yerleştirildiği fiziksel bir yığın veya bir yığınla benzer şekilde sıralı bir öğe koleksiyonu ile temsil edilen doğrusal, liste benzeri bir veri yapısıdır. Öğeler, yeni öğelerin eklenebileceği veya mevcut öğelerin yalnızca yığının üst kısmı olarak adlandırılan bir uçtan kaldırılabileceği şekilde düzenlenmiştir. Yığın, öğeler yığından itilip atıldıkça boyutu sürekli değişen dinamik bir veri yapısıdır. Push ve pop, bir yığın üzerinde gerçekleştirilen iki temel işlemdir. İtme, öğelerin yığına eklendiği ve pop anlamına gelen nesnelerin yığından kaldırıldığı anlamına gelir. LIFO (son giren ilk çıkar) adlı sabit bir siparişi izler, yani son eklenen öğeler ilk çıkan ve ilk eklenen öğe yığından çıkan son öğe olur.
Dizi, her zaman benzer veri türlerindeki öğelerin bir koleksiyonu olarak tanımlanan doğrusal bir veri yapısıdır ve değer, dizinin dizini adı verilen önceden belirlenmiş bir konumda saklanır. Yığınlardan farklı olarak, diziler, bir dizi ayrıldıktan sonra boyutu anlam boyunca aynı kalan statik nesnelerdir, boyutu değiştirilemez. Aynı veri türüne ait birden çok öğe üzerinde benzer türde hesaplamalar yapmanın etkili yollarından biridir. Benzer bir veri türündeki bir veya daha fazla değeri saklayabilir ve bunlara indeksleri ile erişim sağlayabilir. Nesnelerin doğrusal olarak depolandığı ve her zaman erişilebildiği rastgele erişimli bir veri yapısıdır..
Yığın, fiziksel bir yığın veya yığın şeklinde düzenlenmiş bir öğe koleksiyonu ile temsil edilen temel bir veri yapısı olarak düşünülebilen doğrusal bir veri yapısıdır. Yığın, belirli bir sırayla düzenlenmiş nesnelerin sıralı bir koleksiyonudur, böylece nesneler yığının tepesinden olan yalnızca bir uçtan eklenebilir ve çıkarılabilir. Öte yandan bir dizi, programın karmaşıklığını azaltmak için çok sayıda veri değerini depolamak için kullanılan rasgele erişim veri yapısıdır. Bir dizide, verimli bellek yönetimi için nesneler birbiri ardına doğrusal olarak depolanır.
Yığın, heterojen verileri depolayabilen, farklı veri türlerine ait çeşitli veriler içerebileceği anlamına gelen nesnelerin sıralı bir koleksiyonunu temsil eden soyut bir veri türüdür. Nesnelerin belirli bir sırada eklenebileceği veya kaldırılabileceği sınırlı erişimli bir veri yapısıdır. Bir dizi yalnızca homojen verileri depolar, yani benzer veri türlerinin toplanmasını ifade eder. Diziler boyut olarak sabittir ve yalnızca aynı tür verileri kabul eder. Yığınlardan farklı olarak, diziler her zaman erişilebilen sıralı öğelerin bir listesine sahiptir.
Yığın, verilerin düzenlenmesini sabit bir sırayla öngören, bu durumda LIFO veya FILO olan doğrusal bir veri yapısıdır. Elemanlar, yalnızca Son Giren İlk Çıkarma (LIFO) sırasında yığının üstü olarak adlandırılan bir uçtan eklenebilir ve kaldırılabilir, yani son eklenen nesne yığından ilk çıkarılacak olan son kaldırılmalıdır (FILO). Dizi, istedikleri zaman erişebileceğiniz bir nesne koleksiyonudur, yani nesneler sıralarına bakılmaksızın rastgele eklenebilir ve kaldırılabilir.
Yığın, iki temel işlemle nesnelerin sıralı bir sunumudur: push ve pop. Bir yığın kitap gibi nesnelerin üst üste yerleştirilmesinin benzeşimine atıfta bulunur. Bas, nesneleri yığına eklemek için kullanılırken pop, nesneleri yığından kaldırır. Bu iki işlem, koleksiyona nesneleri ekler ve sırasıyla bir nesneyi koleksiyondan kaldırır. Geçiş, Ekleme, Silme, Arama, Sıralama ve Birleştirme gibi bir dizi üzerinde birçok işlem gerçekleştirilebilir. Bir dizi, her bir öğe tek bir değer tutarak birden çok öğeye sahip olabilir.
Her ikisi de veri depolamak ve bunlara erişmek için en etkili yollardır ve kesinlikle çalışma prensibi ve erişim kontrolü dışında bir diziye sahip bir yığın uygulayabilirsiniz. Yığın, öğelerin belirli bir sırada düzenlendiği bir veri yapısındaki öğelerin toplanmasının temel bir temsilidir, böylece bunlar bir LIFO veya FILO sırasında yığının tepesinden olan yalnızca bir uçtan takılabilir ve çıkarılabilir . Dizi, öğe sayısının sabitlendiği ve yığınlardan farklı olarak, bir dizideki öğeler, sıradan bağımsız olarak her iki uçtan eklenebilir ve kaldırılabilir.