C++'da Vector Resize() İşlevi

Vector Resize Function C



Vektör, dinamik diziyi oluşturmak için çok kullanışlı bir C++ sınıfıdır. Herhangi bir programlama problemini çözmek için vektörün boyutu herhangi bir zamanda değiştirilebilir. Bir vektör kapsayıcısında farklı türde görevleri yapmak için C++'da birçok yerleşik işlev bulunur. resize() işlevi bunlardan biridir. Vektörün boyutunu değiştirmek için kullanılır. Bu fonksiyon kullanılarak vektör boyutu artırılabilir veya azaltılabilir. C++ vektöründe resize() işlevinin kullanımları bu eğitimde açıklanmıştır.

Sözdizimi:

resize() işlevi birden çok şekilde kullanılabilir. Bu işlevin iki sözdizimi aşağıda verilmiştir.







geçersizyeniden boyutlandırmak(size_type n)

n'nin değeri vektör nesnesinin orijinal boyutundan küçükse, vektörün boyutu küçülecektir. n'nin değeri vektörün orijinal boyutundan büyükse, vektörün boyutu artacaktır. n'nin değeri vektörün orijinal boyutuna eşitse, vektör boyutu değişmeden kalacaktır.



geçersizyeniden boyutlandırmak(size_type n,constdeğer türü&değer);

Bu fonksiyonda ikinci argüman kullanılırsa, argümanın değeri vektörün sonuna eklenir.



resize() işlevinin ikisi de hiçbir şey döndürmez.





Ön koşul:

Bu öğreticinin örneklerini kontrol etmeden önce, sistemde g++ derleyicisinin kurulu olup olmadığını kontrol etmelisiniz. Visual Studio Code kullanıyorsanız, yürütülebilir kodu oluşturmak için C++ kaynak kodunu derlemek için gerekli uzantıları yükleyin. Burada, C++ kodunu derlemek ve yürütmek için Visual Studio Code uygulaması kullanılmıştır. Bu öğreticinin sonraki bölümünde bu işlevin farklı kullanımları çeşitli örnekler kullanılarak gösterilmiştir.

Örnek-1: Vektörün boyutunu küçültün

resize() işlevini kullanarak vektörün boyutunu nasıl küçülteceğinizi kontrol etmek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 4 dize değerinden oluşan bir vektör bildirildi. Vektörün orijinal boyutunu yazdırdıktan sonra vektöre üç yeni değer eklendi. Vektörün boyutu, eklemeden sonra tekrar yazdırıldı. Vektörün boyutunu 5'e düşürmek için resize() işlevi kullanılmıştır. Vektörün boyutu küçültüldükten sonra yeniden yazdırılmıştır.



//Gerekli kitaplıkları dahil et

#Dahil etmek

#Dahil etmek

kullanarak ad alanısaat;

intana()

{

// Dize değerlerinin bir vektörünü bildir

vektör<sicim>gıdalar= {'Kek','Hamur işi','Pizza','Burger'};

maliyet << 'Vektörün geçerli boyutu:' <<gıdalar.boy() <<son;

//Üç eleman ekle

gıdalar.Geri itmek('Makarna');

gıdalar.Geri itmek('Kızarmış patates');

gıdalar.Geri itmek('Tavuk Kızartması');

maliyet << 'Eklendikten sonra vektörün geçerli boyutu:' <<gıdalar.boy() <<son;

// Vektörü yeniden boyutlandır

gıdalar.yeniden boyutlandırmak(5);

maliyet << 'Yeniden boyutlandırıldıktan sonra vektörün geçerli boyutu:' <<gıdalar.boy() <<son;

dönüş 0;

}

Çıktı:

Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Çıktı, vektörün orijinal boyutunun 4 olduğunu, 3 yeni değer eklendikten sonra boyutun 7 olduğunu ve resize() işlevini kullandıktan sonra boyutun 5 olduğunu gösteriyor.

Örnek-2: Vektörün boyutunu artırın

vektörün boyutunun resize() işlevini kullanarak nasıl artırılacağını kontrol etmek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 5 tamsayılı bir vektör bildirildi. Orijinal vektörün boyutu, resize() işlevi kullanılarak vektörün boyutu artırılmadan önce yazdırıldı. Boyut 8 olarak yeniden boyutlandırıldıktan sonra vektörün boyutu yeniden yazdırıldı. Ardından vektörün sonuna 5 sayı eklendi ve değiştirilen vektörün boyutu yeniden yazdırıldı.

//Gerekli kitaplıkları dahil et

#Dahil etmek

#Dahil etmek

kullanarak ad alanısaat;

intana()

{

//Tamsayı değerlerinin bir vektörünü bildir

vektör<int>sayılar= {10,90,yirmi,80,30 };

maliyet << 'Vektörün geçerli boyutu:' <<sayılar.boy() <<son;

// Vektörü yeniden boyutlandır

sayılar.yeniden boyutlandırmak(8);

maliyet << 'Yeniden boyutlandırıldıktan sonra vektörün geçerli boyutu:' <<sayılar.boy() <<son;

// Vektöre 5 sayı ekle

sayılar.Geri itmek(60);

sayılar.Geri itmek(40);

sayılar.Geri itmek(elli);

sayılar.Geri itmek(70);

sayılar.Geri itmek(100);

maliyet << 'Eklendikten sonra vektörün geçerli boyutu:' <<sayılar.boy() <<son;

dönüş 0;

}

Çıktı:

Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Çıktı, vektörün orijinal boyutunun 5 olduğunu, vektör yeniden boyutlandırıldıktan sonra boyutun 8 olduğunu ve vektöre 5 öğe eklendikten sonra boyutun 13 olduğunu gösteriyor.

Örnek-3: Vektörü değerlerle yeniden boyutlandırın

Aynı değeri birden çok kez ekleyerek vektörün nasıl yeniden boyutlandırılacağını kontrol etmek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 5 kayan sayı vektörü bildirildi. resize() işlevi, vektör boyutunu 7 olarak yeniden boyutlandırmak ve vektöre iki kez 5.55 sayısını eklemek için kullanılmıştır. Orijinal vektörün içeriği ve değiştirilen vektör, kod yürütüldükten sonra yazdırılacaktır.

// vektörün yeniden boyutlandırılması

#Dahil etmek

#Dahil etmek

kullanarak ad alanısaat;

intana()

{

// Float değerlerinin bir vektörünü bildir

vektör<batmadan yüzmek>sayılar= { 7.89,3.98,5.56,9.65,2.33 };

maliyet << 'Yeniden boyutlandırmadan önceki vektörün değerleri: ';

// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin

için(intben= 0;ben<sayılar.boy(); ++ben)

maliyet <<sayılar[ben] << '';

maliyet << ' ';

//Vektörü değerlerle yeniden boyutlandır

sayılar.yeniden boyutlandırmak(7,5.55);

maliyet << 'Yeniden boyutlandırıldıktan sonra vektörün değerleri: ';

// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin

için(intben= 0;ben<sayılar.boy(); ++ben)

maliyet <<sayılar[ben] << '';

maliyet << ' ';

dönüş 0;

}

Çıktı:

Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Çıktı, 5.55 sayısının vektörün sonuna iki kez eklendiğini gösterir.

Çözüm:

Değerli veya değersiz vektörün boyutunu değiştirmek için resize() işlevinin kullanılması bu öğreticide basit örnekler kullanılarak açıklanmıştır. Yeni C++ kodlayıcısı, bu öğreticiyi okuduktan sonra resize() işlevini kullanarak vektörün boyutunu gereksinime göre değiştirebilecektir.