0Pricing
Learn Rust Coding · Pelajaran

Memperbesar dan Memperkecil

Sisipkan, hapus, dan ubah ukuran.

Memperbesar dan Memperkecil adalah pelajaran Learn Rust Coding gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn Rust Coding, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn Rust Coding mencakup 4 pelajaran total.

Vektor Dapat Berubah Ukuran

Salah satu fitur penting vektor adalah kemampuannya mengubah ukuran saat program berjalan. Anda dapat menambahkan elemen ketika memiliki lebih banyak data dan menghapusnya ketika tidak lagi diperlukan.

Setiap perubahan ukuran mengharuskan vektor dideklarasikan sebagai mut.

Memperbesar dengan push

Metode push menambahkan satu elemen ke akhir, sehingga ukuran vektor bertambah satu. Ini adalah cara yang paling umum untuk memperbesar vektor.

Di bawah ini, panjang vektor bertambah dari 0 menjadi 3.

fn main() {
    let mut v = Vec::new();
    v.push("a");
    v.push("b");
    v.push("c");
    println!("len = {}", v.len());
}

Menghapus dengan pop

Metode pop menghapus dan mengembalikan elemen terakhir yang dibungkus dalam Option. Biasanya Anda mendapatkan Some(value), atau None jika vektor sudah kosong.

Dengan demikian, ukuran vektor berkurang satu.

fn main() {
    let mut v = vec![1, 2, 3];
    let last = v.pop();
    println!("popped {:?}", last);
    println!("now {:?}", v);
}

Menyisipkan di Tengah

Metode insert menempatkan nilai pada indeks tertentu dan menggeser elemen-elemen setelahnya ke kanan. Indeks harus berada dari 0 hingga panjang saat ini.

Di sini kita menyisipkan 99 pada posisi 1.

fn main() {
    let mut v = vec![10, 20, 30];
    v.insert(1, 99);
    println!("{:?}", v);
}

Menghapus berdasarkan Indeks

Metode remove menghapus elemen pada suatu indeks, mengembalikannya, lalu menggeser elemen-elemen berikutnya ke kiri untuk mengisi celah.

Perhatian: menghapus indeks yang tidak ada akan menyebabkan kepanikan.

fn main() {
    let mut v = vec![10, 20, 30];
    let gone = v.remove(0);
    println!("removed {}", gone);
    println!("{:?}", v);
}

Penghapusan Cepat dengan swap_remove

Jika urutan tidak penting, swap_remove lebih cepat. Metode ini memindahkan elemen terakhir ke posisi elemen yang dihapus, alih-alih menggeser semuanya.

Urutannya berubah, tetapi biaya penggeseran dapat dihindari.

fn main() {
    let mut v = vec![1, 2, 3, 4];
    let x = v.swap_remove(0);
    println!("took {}", x);
    println!("{:?}", v);
}

Menghapus Semuanya

Metode clear menghapus semua elemen sekaligus, sehingga tersisa vektor kosong dengan panjang 0. Vektor tetap mempertahankan kapasitas yang telah dialokasikan agar dapat digunakan kembali.

Metode ini berguna saat Anda ingin mengisi ulang vektor dari awal.

fn main() {
    let mut v = vec![1, 2, 3];
    v.clear();
    println!("empty? {}", v.is_empty());
}

Memotong hingga Panjang Tertentu

Metode truncate memendekkan vektor hingga panjang yang dipilih dengan membuang elemen-elemen tambahan di bagian akhir. Jika vektor sudah lebih pendek, tidak terjadi apa-apa.

Di sini kita hanya mempertahankan dua elemen pertama.

fn main() {
    let mut v = vec![1, 2, 3, 4, 5];
    v.truncate(2);
    println!("{:?}", v);
}

Menggabungkan dengan extend

Metode extend menambahkan setiap item dari koleksi lain. Ini seperti memanggil push untuk setiap elemen dalam satu langkah.

Di bawah ini, daftar kedua ditambahkan ke bagian akhir daftar pertama.

fn main() {
    let mut v = vec![1, 2];
    v.extend(vec![3, 4, 5]);
    println!("{:?}", v);
}

Hanya Mempertahankan Sebagian dengan retain

Metode retain hanya mempertahankan elemen yang lolos suatu pengujian dan menghapus sisanya langsung di tempatnya. Anda memberinya closure yang mengembalikan nilai bool.

Di sini kita hanya mempertahankan bilangan genap.

fn main() {
    let mut v = vec![1, 2, 3, 4, 5, 6];
    v.retain(|n| n % 2 == 0);
    println!("{:?}", v);
}

Mengurutkan Elemen

Metode sort mengurutkan elemen dari yang terkecil hingga terbesar langsung di tempatnya. Panjangnya tidak berubah, hanya susunannya.

Pengurutan memerlukan vektor yang bersifat mut.

fn main() {
    let mut v = vec![3, 1, 4, 1, 5];
    v.sort();
    println!("{:?}", v);
}

Pemeriksaan Singkat

Uji pemahaman Anda tentang memperbesar dan memperkecil vektor.

Rangkuman

Anda memperbesar vektor dengan push, insert, dan extend, lalu memperkecilnya dengan pop, remove, swap_remove, clear, dan truncate.

Anda juga menyaring dengan retain dan mengurutkan dengan sort. Selanjutnya Anda akan menyimpan struct di dalam vektor.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memperbesar dan Memperkecil” gratis?

Ya — teks lengkap “Memperbesar dan Memperkecil” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn Rust Coding, upgrade ke CoddyKit PRO. Kursus Learn Rust Coding mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memperbesar dan Memperkecil”?

Sisipkan, hapus, dan ubah ukuran. Kamu berlatih Learn Rust Coding dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn Rust Coding?

Tidak diperlukan pengalaman sebelumnya. Learn Rust Coding di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Memperbesar dan Memperkecil” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn Rust Coding ini?

Ya. Setiap pelajaran Learn Rust Coding menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat dan Mengisi Vektor
  2. Pengindeksan dan Iterasi
  3. Memperbesar dan Memperkecil
  4. Vektor Struct
← Kembali ke Learn Rust Coding