Sekumpulan elemen dengan tipe yang sama disebut array. Organisasi data seperti itu memiliki banyak keuntungan dan satu kelemahan - saat membuat array, perlu untuk menyatakan ukurannya terlebih dahulu, yang tidak dapat diubah dengan cara konvensional di masa depan. Solusi untuk masalah ini adalah mengembangkan array dinamis yang dapat mengubah jumlah elemennya setiap saat. Selain itu, untuk ini, Anda dapat menggunakan kedua kelas yang sudah dibuat, dan mengimplementasikannya sendiri menggunakan alat bahasa pemrograman standar.
instruksi
Langkah 1
Inti utama dari array dinamis adalah mengalokasikan memori untuk data yang disimpan di dalamnya tepat dalam ukuran yang dibutuhkan saat ini. Paling mudah untuk mengimplementasikan konstruksi ini dalam bentuk kelas - pembungkus untuk array. Di sini perlu untuk menyediakan semua fungsi yang melakukan alokasi dan pelepasan memori untuk array, serta operator yang menyediakan akses ke elemen-elemennya.
Langkah 2
Buat objek kelas pembungkus array dinamis, dan konstruktor akan secara otomatis mengalokasikan memori dengan ukuran yang ditentukan. Jika, saat array terisi, memori untuk elemen akan terisi penuh, saat menambahkan data berikutnya, tindakan berikut dilakukan: - semua informasi dari array disimpan dalam penyimpanan sementara (array bantu); - memori yang dialokasikan sebelumnya adalah dibebaskan oleh perintah khusus (bebas, hapus); - memori dialokasikan di bawah array ukuran yang diperlukan untuk menampung semua data - semua nilai "lama" ditempatkan di array baru dari penyimpanan sementara dan yang baru elemen ditambahkan.
Langkah 3
Cara terbaik untuk bekerja dengan array dinamis adalah dengan menggunakan kelas perpustakaan yang ada. Salah satu contoh yang paling umum adalah kelas vektor. Ini mencakup semua fungsi dan iterator yang diperlukan untuk berfungsinya array yang dapat diubah. Selain itu, modul perpustakaan yang berisi kelas ini disertakan dengan versi apa pun dari kompiler C ++.
Langkah 4
Sertakan pustaka larik dinamis menggunakan perintah #include. Gunakan kelas vektor untuk membuat objek. Bergerak melalui array sama seperti dalam kasus biasa, menggunakan indeks. Fitur khusus di sini adalah fungsi untuk menambahkan dan menghapus elemen baru, serta sejumlah metode tambahan Contoh kode untuk membuat dan mengoperasikan vektor array dinamis: #include vector;vektor int Mass; // deklarasi array dinamis dengan elemen tipe intMas.push_back (10); // menambahkan elemen pertama - nomor 10 Mas.push_back (15); // menambahkan elemen kedua - angka 15Mas [1] = 30; // elemen kedua ditulis angka 30Mas.pop_back(); // menghapus elemen terakhir dari array Di sini, saat membuat array dinamis bernama Mass, jenis elemennya (int) harus ditentukan, dimensinya tidak ditentukan dalam kasus ini.