0Pricing
Learn Rust Coding · Ders

Büyütme ve Küçültme

Öğe ekleyin, kaldırın ve yeniden boyutlandırın.

Büyütme ve Küçültme, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 4 dersten oluşur.

Vectors Can Change Size

Vektörlerin temel bir özelliği, çalışma zamanında boyut değiştirmelerinin olmasıdır. Daha fazla veriniz olduğunda elemanlar ekleyebilir ve artık onlara ihtiyacınız kalmadığında silebilirsiniz.

Her boyut değişikliği, vektörün mut olarak bildirilmesini gerektirir.

Growing With push

push metodu, sonuna tek bir eleman ekleyerek vektörü bir birim büyütür. Bu, büyütmenin en yaygın yoludur.

Aşağıda vektörün uzunluğu 0'dan 3'e çıkmaktadır.

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

Removing With pop

pop yöntemi, sarılmış olan son elemanı Option içinde çıkarır ve döndürür. Normal şartlarda Some(value) alırsınız, vektör zaten boşsa None alırsınız.

Bu işlem vektörün boyutunu bir birim küçültür.

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

Inserting in the Middle

insert metodu, belirli bir indekse bir değer yerleştirir ve sonraki elemanları sağa kaydırır. İndeks, 0'dan mevcut uzunluğa kadar olmalıdır.

Burada 99'u 1 numaralı konuma sıkıştırıyoruz.

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

Removing by Index

remove metodu, belirli bir indeksteki elemanı siler, onu döndürür ve sonraki elemanları boşluğu doldurmak için sola kaydırır.

Dikkat: Var olmayan bir indeksi silmek paniğe (panic) neden olur.

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

Fast Removal With swap_remove

Sıralamanın önemli olmadığı durumlarda swap_remove daha hızlıdır. Her şeyi kaydırmak yerine son elemanı silinen boşluğa taşır.

Bu, sırayı değiştirir ancak kaydırma maliyetinden kaçınır.

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

Clearing Everything

clear yöntemi, tüm öğeleri aynı anda kaldırarak 0 uzunluğunda boş bir vektör bırakır. Vektör, yeniden kullanım için ayrılmış kapasitesini korur.

Bir vektörü sıfırdan yeniden doldurmak istediğinizde kullanışlıdır.

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

Truncating to a Length

truncate yöntemi, fazladan elemanları sonundan atarak bir vektörü seçilen bir uzunluğa kısaltır. Vektör zaten daha kısaysa hiçbir şey olmaz.

Burada yalnızca ilk iki elemanı tutuyoruz.

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

Joining With extend

extend metodu, başka bir koleksiyondaki her bir öğeyi ekler. Bu, tek bir adımda her eleman için push çağırmak gibidir.

Aşağıda, ikinci bir liste birincinin sonuna eklenmektedir.

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

Keeping Only Some With retain

retain metodu, yalnızca bir testten geçen öğeleri tutar ve geri kalanını yerinde kaldırır. Ona bir bool döndüren bir closure (kapanış) verirsiniz.

Burada yalnızca çift sayıları tutuyoruz.

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

Sorting Elements

sort yöntemi, elemanları küçükten büyüğe doğru yerinde yeniden sıralar. Uzunluğu değiştirmez, yalnızca düzeni değiştirir.

Sıralama, vektörün mut olmasını gerektirir.

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

Quick Check

Büyüyen ve küçülen vektörler hakkındaki kavrayışınızı test edin.

Recap

push, insert ve extend ile vektörleri büyüttünüz ve pop, remove, swap_remove, clear ve truncate ile küçülttünüz.

Ayrıca retain ile filtreleme ve sort ile sıralama yaptınız. Sonraki aşamada vektörlerin içinde struct'lar saklayacaksınız.

Sıkça Sorulan Sorular

“Büyütme ve Küçültme” dersi ücretsiz mi?

Evet — “Büyütme ve Küçültme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 4 dersten oluşur.

“Büyütme ve Küçültme” dersinde ne öğreneceğim?

Öğe ekleyin, kaldırın ve yeniden boyutlandırın. Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Büyütme ve Küçültme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Vektör Oluşturma ve Doldurma
  2. Dizinleme ve Yineleme
  3. Büyütme ve Küçültme
  4. Struct Vektörleri
← Learn Rust Coding Sayfasına Dön