Salah satu jenis struktur data yang banyak digunakan saat ini dalam pemrograman aplikasi adalah stack. Keunikannya adalah prinsip pengorganisasian elemen, di mana penambahan dan penghapusannya hanya dimungkinkan satu per satu dan hanya melalui "atas", yaitu, menurut prinsip LIFO. Tetapi terkadang perlu untuk menghapus seluruh tumpukan sekaligus.
Diperlukan
- - editor teks atau IDE;
- - penerjemah dari bahasa pemrograman yang digunakan.
instruksi
Langkah 1
Gunakan metode pada objek tumpukan yang dirancang khusus untuk membersihkan tumpukan. Mereka hadir di sebagian besar kelas yang sesuai dari berbagai perpustakaan dan kerangka kerja. Misalnya, kelas. NET Stack memiliki metode Clear. Contoh penerapannya di C# mungkin terlihat seperti ini:
Stack oStack = Stack baru (); // membuat objek tumpukan
oStack. Push ("000"); // isi tumpukan
oStack. Push ("111");
oStack. Clear(); // bersihkan tumpukan
Langkah 2
Metode untuk mengubah jumlah elemen kelas kontainer, di mana fungsionalitas kelas tumpukan sering dibangun, juga dapat digunakan untuk pembersihan. Anda hanya perlu mengurangi jumlah elemen saat ini menjadi nol. Misalnya, kelas templat Qt QStack mewarisi dari kelas templat QVector, yang memiliki metode pengubahan ukuran. Contoh penggunaannya bisa seperti ini:
QStack oStack; // deklarasi objek tumpukan
for (int i = 0; i <10; i ++) oStack.push (i); // isi tumpukan
oStack.resize (0); // bersihkan tumpukan
Langkah 3
Membersihkan objek tumpukan biasanya dapat dilakukan melalui operator penugasan, yang sering diimplementasikan di kelas terkait. Untuk melakukan ini, objek tumpukan yang akan dibersihkan harus diberi objek sementara yang dibuat oleh konstruktor default. Misalnya, kelas templat tumpukan Pustaka Standar C ++, yang merupakan adaptor untuk kelas templat wadah, tidak memiliki metode untuk mengubah nomor atau menghapus semua elemen secara sewenang-wenang. Anda dapat menghapusnya seperti ini:
std:: stack <int, std:: list> oStack; // deklarasi objek tumpukan
for (int i = 0; i <10; i ++) oStack.push (i); // isi tumpukan
oStack = std:: tumpukan
Langkah 4
Kosongkan objek tumpukan dengan memanggil konstruktor salin menggunakan operator new dengan argumen objek yang dibuat oleh konstruktor default:
std:: stack <int, std:: list> oStack; // deklarasi objek tumpukan
for (int i = 0; i <10; i ++) oStack.push (i); // isi tumpukan
std baru:: tumpukan
Langkah 5
Tumpukan dapat dibersihkan dengan mengambil semua elemen secara berurutan menggunakan metode yang sesuai:
std:: stack <int, std:: list> oStack; // deklarasi objek tumpukan
for (int i = 0; i <10; i ++) oStack.push (i); // isi tumpukan
while (! oStack.empty ()) oStack.pop (); // hapus tumpukan
Namun, pendekatan ini memiliki kompleksitas waktu yang secara linier tergantung pada jumlah elemen dalam tumpukan. Oleh karena itu, penggunaannya tidak rasional.