Günümüzde uygulama programlamada yaygın olarak kullanılan veri yapılarından biri yığındır. Özelliği, ekleme ve çıkarmalarının birer birer ve yalnızca "üst" aracılığıyla, yani LIFO ilkesine göre mümkün olduğu organize etme ilkesidir. Ancak bazen tüm yığını bir kerede temizlemek gerekir.
Gerekli
- - metin düzenleyici veya IDE;
- - kullanılan programlama dilinden bir çevirmen.
Talimatlar
Aşama 1
Yığını temizlemek için özel olarak tasarlanmış yığın nesnelerindeki yöntemleri kullanın. Çeşitli kitaplıkların ve çerçevelerin karşılık gelen sınıflarının çoğunda bulunurlar. Örneğin,. NET Stack sınıfının bir Clear yöntemi vardır. C#'daki uygulamasının bir örneği şöyle görünebilir:
Yığın oStack = yeni Yığın (); // bir yığın nesnesi oluştur
oStack. Push ("000"); // yığını doldur
oStack. Push ("111");
oStack. Clear (); // yığını temizle
Adım 2
Yığın sınıflarının işlevselliğinin üzerine inşa edildiği kap sınıflarının öğelerinin sayısını değiştirme yöntemleri de temizlik için kullanılabilir. Sadece mevcut eleman sayısını sıfıra indirmeniz gerekiyor. Örneğin, Qt şablon sınıfı QStack, yeniden boyutlandırma yöntemine sahip olan QVector şablon sınıfından miras alır. Kullanımına bir örnek şu şekilde olabilir:
QStack oStack; // yığın nesnesinin bildirimi
(int i = 0; i <10; i ++) için oStack.push (i); // yığını doldur
oStack.yeniden boyutlandırma (0); // yığını temizle
Aşama 3
Bir yığın nesnesinin temizlenmesi, genellikle ilgili sınıflarda uygulanan atama operatörü aracılığıyla yapılabilir. Bunu yapmak için, temizlenecek yığının nesnesine, varsayılan kurucu tarafından oluşturulan geçici bir nesne atanmalıdır. Örneğin, kapsayıcı şablonlu sınıflar için bir bağdaştırıcı olan C ++ Standart Kitaplık yığın şablonlu sınıfı, sayıyı keyfi olarak değiştirmek veya tüm öğeleri kaldırmak için yöntemlere sahip değildir. Bunu şu şekilde temizleyebilirsiniz:
std:: yığın <int, std:: liste> oStack; // yığın nesnesinin bildirimi
(int i = 0; i <10; i ++) için oStack.push (i); // yığını doldur
oYığın = standart:: yığın
4. Adım
Varsayılan kurucu tarafından oluşturulan bir nesne bağımsız değişkeni ile yeni operatörü kullanarak kopya oluşturucuyu çağırarak yığın nesnesini temizleyin:
std:: yığın <int, std:: liste> oStack; // yığın nesnesinin bildirimi
(int i = 0; i <10; i ++) için oStack.push (i); // yığını doldur
yeni standart:: yığın
Adım 5
Yığın, uygun yöntemler kullanılarak tüm öğeler sırayla alınarak temizlenebilir:
std:: yığın <int, std:: liste> oStack; // yığın nesnesinin bildirimi
(int i = 0; i <10; i ++) için oStack.push (i); // yığını doldur
while (! oStack.empty ()) oStack.pop (); // yığını temizle
Bununla birlikte, bu yaklaşım, yığındaki öğelerin sayısına doğrusal olarak bağlı olan bir zaman karmaşıklığına sahiptir. Bu nedenle kullanımı rasyonel değildir.