Penyisipan pada array Dinamis
Pelajaran 14 dari 14 dalam kursus Pointer C++ di Coddy.
Terakhir, penting untuk mengetahui cara menambahkan elemen ke array secara dinamis. Jika kamu tidak bisa menggunakan vector dan array-mu sudah penuh, kamu perlu mencari cara untuk mengubah panjang array secara dinamis dan menambahkan elemen yang diinginkan.
Berikut contoh kecil tentang cara mengubah array secara dinamis agar berfungsi seperti vector
- Kita memiliki array yang dialokasikan secara dinamis sebagai awal
- Kita membuat array baru yang dialokasikan secara dinamis dengan panjang + 1
- Kita menyalin semua elemen dari array lama ke array baru
- Pada indeks terakhir (+1), kita menambahkan elemen yang diinginkan
- Kita menghapus array lama
- Lalu kita membuat pointer dari array lama yang sudah dihapus menunjuk ke array baru yang telah dimodifikasi
- Terakhir, di akhir program, kita menghapus pointer array sekali lagi
int *array = new int[5]; // array awal
for(int i = 0; i < 5; i++)
array[i] = i + 1;
int *newarray = new int[6]; // array baru dengan panjang bertambah 1
for(int i = 0; i < 5; i++)
newarray[i] = array[i]; // Salin semua elemennya
newarray[5] = 6; // Tambahkan elemen terakhir
delete[] array; // Bebaskan memori array lama
array = newarray; // Atur agar menunjuk ke array baru
for(int i = 0; i < 5; i++)
cout << array[i] << " ";
delete[] array; // Bebaskan memori array baruPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
MudahDengan array yang dialokasikan secara dinamis, jangan ubah kode bawaan. Tambahkan kode di bagian tengah untuk memasukkan 3 angka ke bagian akhir array seperti contoh di pelajaran.
JANGAN ubah kode bawaan
Coba sendiri
#include <iostream>
using namespace std;
int main() {
int *numbers = new int[5];
for(int i = 0; i < 5; i++)
numbers[i] = i + 1;
// JANGAN UBAH KODE DI ATAS
// Tulis kodemu di sini
// Masukkan 3 bilangan bulat
// Tambahkan ketiganya secara dinamis ke array "numbers"
// JANGAN UBAH KODE DI BAWAH
for(int i = 0; i < 8; i++)
cout << numbers[i] << " ";
delete[] numbers;
return 0;
}Semua pelajaran di Pointer C++
3Alokasi Memori Dinamis
Operator new & deleteKebocoran Memoriarray DinamisPenyisipan pada array DinamisLatihan sendiri: Compiler C++ online