Cara Membersihkan Timbunan

Isi kandungan:

Cara Membersihkan Timbunan
Cara Membersihkan Timbunan

Video: Cara Membersihkan Timbunan

Video: Cara Membersihkan Timbunan
Video: Saya coba bersihin casing yang udah dipake 2 tahun... 2024, November
Anonim

Salah satu jenis struktur data yang banyak digunakan hari ini dalam pengaturcaraan aplikasi adalah timbunan. Keanehannya adalah prinsip mengatur elemen, di mana penambahan dan penghapusannya hanya mungkin dilakukan satu persatu dan hanya melalui "puncak", iaitu menurut prinsip LIFO. Tetapi kadang-kadang perlu membersihkan keseluruhan timbunan sekaligus.

Cara membersihkan timbunan
Cara membersihkan timbunan

Perlu

  • - penyunting teks atau IDE;
  • - penterjemah dari bahasa pengaturcaraan yang digunakan.

Arahan

Langkah 1

Gunakan kaedah pada objek tumpukan yang dirancang khusus untuk membersihkan timbunan. Mereka hadir di sebilangan besar kelas yang sesuai dari pelbagai perpustakaan dan kerangka kerja. Contohnya, kelas. NET Stack mempunyai kaedah Clear. Contoh penerapannya di C # mungkin kelihatan seperti ini:

Stack oStack = Stack baru (); // buat objek tumpukan

oStack. Push ("000"); // isi timbunan

oStack. Push ("111");

oStack. Clear (); // kosongkan timbunan

Langkah 2

Kaedah untuk mengubah bilangan elemen kelas kontena, di mana fungsi kelas tumpukan sering dibina, juga dapat digunakan untuk pembersihan. Anda hanya perlu mengurangkan bilangan elemen semasa menjadi sifar. Contohnya, kelas templat Qt QStack mewarisi dari kelas templat QVector, yang mempunyai kaedah mengubah saiz. Contoh penggunaannya seperti ini:

QStack oStack; // pengisytiharan objek timbunan

untuk (int i = 0; i <10; i ++) oStack.push (i); // isi timbunan

oStack.resize (0); // kosongkan timbunan

Langkah 3

Membersihkan objek tumpukan biasanya dapat dilakukan melalui operator penugasan, yang sering dilaksanakan di kelas yang sesuai. Untuk melakukan ini, objek tumpukan yang akan dibersihkan mesti diberikan objek sementara yang dibuat oleh konstruktor lalai. Sebagai contoh, kelas templat tumpukan Pustaka Standard C ++, yang merupakan penyesuai untuk kelas templat kontena, tidak mempunyai kaedah untuk menukar nombor atau membuang semua elemen dengan sewenang-wenangnya. Anda boleh membersihkannya seperti ini:

std:: stack <int, std:: list> oStack; // pengisytiharan objek timbunan

untuk (int i = 0; i <10; i ++) oStack.push (i); // isi timbunan

oStack = std:: timbunan(); // kosongkan timbuna

Langkah 4

Kosongkan objek tumpukan dengan memanggil salinan konstruktor menggunakan operator baru dengan argumen objek yang dibuat oleh konstruktor lalai:

std:: stack <int, std:: list> oStack; // pengisytiharan objek timbunan

untuk (int i = 0; i <10; i ++) oStack.push (i); // isi timbunan

std baru:: timbunan(oStack); // kosongkan timbuna

Langkah 5

Tumpukan dapat dibersihkan dengan mengambil secara berurutan semua elemen menggunakan kaedah yang sesuai:

std:: stack <int, std:: list> oStack; // pengisytiharan objek timbunan

untuk (int i = 0; i <10; i ++) oStack.push (i); // isi timbunan

sementara (! oStack.empty ()) oStack.pop (); // kosongkan timbunan

Walau bagaimanapun, pendekatan ini mempunyai kerumitan waktu yang secara linear bergantung pada jumlah elemen dalam timbunan. Oleh itu, penggunaannya tidak rasional.

Disyorkan: