Yığını Necə Təmizləmək Olar

Mündəricat:

Yığını Necə Təmizləmək Olar
Yığını Necə Təmizləmək Olar

Video: Yığını Necə Təmizləmək Olar

Video: Yığını Necə Təmizləmək Olar
Video: Evdə içdiyiniz suyun tərkibini bu üsulla yoxlayın 2024, Sentyabr
Anonim

Bu gün tətbiqetmə proqramlaşdırmasında geniş istifadə olunan məlumat strukturlarının növlərindən biri də yığındır. Xüsusiyyəti, elementlərin təşkili prinsipidir, burada onların əlavə edilməsi və çıxarılması yalnız bir dəfə və yalnız "yuxarı" vasitəsilə mümkündür, yəni LIFO prinsipinə görə. Ancaq bəzən bir anda bütün yığını təmizləmək lazımdır.

Yığını necə təmizləmək olar
Yığını necə təmizləmək olar

Zəruri

  • - mətn redaktoru və ya IDE;
  • - istifadə olunan proqramlaşdırma dilindən tərcüməçi.

Təlimat

Addım 1

Yığın təmizlənməsi üçün xüsusi olaraq hazırlanmış yığın obyektlərində metodlardan istifadə edin. Müxtəlif kitabxanaların və çərçivələrin uyğun siniflərinin əksəriyyətində mövcuddurlar. Məsələn. NET Stack sinfi Clear metoduna malikdir. C # tətbiqinin bir nümunəsi belə görünə bilər:

Stack oStack = yeni Stack (); // bir yığın obyekti yaratmaq

oStack. Push ("000"); // yığını doldurun

oStack. Push ("111");

oStack. Clear (); // yığını silin

Addım 2

Yığın siniflərinin funksionallığının tez-tez qurulduğu konteyner siniflərinin elementlərinin sayını dəyişdirmə üsulları da təmizlənmək üçün istifadə edilə bilər. Yalnız cari element sayını sıfıra endirməlisiniz. Məsələn, Qt şablon sinfi QStack, yenidən ölçülmə metoduna sahib olan QVector şablon sinifindən miras qalır. İstifadəsinə bir nümunə belə ola bilər:

QStack oStack; // yığın obyektinin bəyanatı

for (int i = 0; i <10; i ++) oStack.push (i); // yığını doldurun

oStack.resize (0); // yığını silin

Addım 3

Bir yığın obyektinin təmizlənməsi ümumiyyətlə müvafiq siniflərdə həyata keçirilən təyinat operatoru vasitəsilə həyata keçirilə bilər. Bunu etmək üçün yığının təmizlənəcək obyektinə, standart qurucu tərəfindən yaradılan müvəqqəti bir obyekt təyin edilməlidir. Məsələn, konteyner şablonu sinifləri üçün bir adaptör olan C ++ Standard Library yığını şablonu sinfində sayını özbaşına dəyişdirmək və ya bütün elementləri silmək üçün metodlar yoxdur. Bunu belə təmizləyə bilərsiniz:

std:: stack <int, std:: list> oStack; // yığın obyektinin bəyanatı

for (int i = 0; i <10; i ++) oStack.push (i); // yığını doldurun

oStack = std:: stack(); // yığını sili

Addım 4

Varsayılan konstruktor tərəfindən yaradılan bir obyekt arqumenti ilə yeni operatoru istifadə edərək kopya qurucusunu çağıraraq yığın obyektini silin:

std:: stack <int, std:: list> oStack; // yığın obyektinin bəyanatı

for (int i = 0; i <10; i ++) oStack.push (i); // yığını doldurun

yeni std:: yığın(oStack); // yığını sili

Addım 5

Yığın, uyğun metodlardan istifadə edərək bütün elementləri ardıcıl olaraq əldə etməklə təmizlənə bilər:

std:: stack <int, std:: list> oStack; // yığın obyektinin bəyanatı

for (int i = 0; i <10; i ++) oStack.push (i); // yığını doldurun

while (! oStack.empty ()) oStack.pop (); // yığını silin

Bununla birlikdə, bu yanaşma, yığındakı elementlərin sayından xətti olaraq asılı olan bir zaman mürəkkəbliyinə malikdir. Buna görə istifadəsi rasional deyil.

Tövsiyə: