Vektör, dinamik bir dizi olarak çalışan veri dizisini depolamak için C++'ın kullanışlı bir kapsayıcı sınıfıdır. Vektör nesnesinin boyutu, çalışma zamanında nesneye bir öğe eklenerek veya çıkarılarak artırılabilir veya azaltılabilir. Insert() işlevi, vektör nesnesinin belirli bir öğesinin önüne, o öğenin konumunu belirterek bir veya daha fazla yeni öğe eklemek için kullanılır. Vektör nesnesinin boyutunu dinamik olarak artıracaktır. Bu öğreticide bu işlevin farklı sözdizimi ve kullanımları açıklanmıştır.
Sözdizimi:
Vektörün insert() işlevi, farklı amaçlar için farklı şekillerde kullanılabilir. Bu fonksiyonun üç farklı sözdiziminden aşağıda bahsedilmiştir.
yineleyici ekleme ( const_iterator konumu, yapı değer türü & değer ) ;
Yukarıdaki insert() işlevi, değer argümanının değerini, konum argümanında belirtilen vektör öğesinin konumundan önce eklemek için kullanılır. Vektörün yeni eklenen öğesine işaret eden bir yineleyici döndürür.
yineleyici ekleme ( yineleyici konumu, size_type n, yapı değer türü & değer ) ;
Yukarıdaki insert() işlevi, daha önce bahsedilen insert() işlevine benzer şekilde çalışacaktır, ancak aynı değeri vektör nesnesine birden çok kez ekleyecektir.
yineleyici ekleme ( const_iterator konumu, ilk olarak inputIterator, son olarak inputIterator ) ;
Yukarıdaki insert() işlevi, öğe aralığını, konum argümanında belirtilen vektör öğesinin konumundan önce eklemeye çalışacaktır. Önceki iki insert() işlevi gibi, vektörün yeni eklenen öğelerine işaret eden bir yineleyici döndürür.
Ön koşul:
Bu eğitimin örneklerini kontrol etmeden önce g++ derleyicisinin sistemde kurulu olup olmadığını kontrol etmelisiniz. Visual Studio Code kullanıyorsanız yürütülebilir kodu oluşturmak amacıyla 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. Bir vektöre eleman(lar) eklemek için insert() fonksiyonunun farklı kullanımları aşağıda gösterilmiştir.
Örnek-1: Tek eleman ekleme
Insert() işlevini kullanarak tek bir öğe eklemek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 5 kayan sayıdan oluşan bir vektör bildirildi. İlk insert() fonksiyonu, begin() fonksiyonunu kullanarak vektörün başına bir sayı eklemek için kullanılmıştır. İkinci insert() işlevi, yineleyici değişkeni kullanarak vektörün başına bir sayı eklemek için kullanılmıştır. Üçüncü insert() fonksiyonunun vektörün dördüncü konumuna bir sayı eklemesi gerekir.
//Gerekli kütüphaneleri dahil et
#include
#include
kullanarak ad alanı std ;
//Vektörü göster
geçersiz görüntülemek ( vektör < batmadan yüzmek > sayılar )
{
//Döngüyü kullanarak vektörün değerlerini yazdırıyoruz
için ( Oto O = sayılar. başlamak ( ) ; O ! = sayılar. son ( ) ; O ++ )
cout << * O << ' ' ;
//Yeni satır ekle
cout << ' \N ' ;
}
int ana ( )
{
//Vektörü başlat
vektör < batmadan yüzmek > fiyat = { 78.56 , 34.07 , 23 , Dört beş , 61.08 , 29.3 } ;
cout << 'Orijinal vektör: ' ;
görüntülemek ( fiyat ) ;
//Begin() işlevini kullanarak öndeki sayıyı ekleyin
Oto yineleyici = fiyat. sokmak ( fiyat. başlamak ( ) , 42.67 ) ;
cout << 'İlk eklemeden sonraki vektör: ' ;
görüntülemek ( fiyat ) ;
//Yineleyiciyi kullanarak sayıyı öne ekleyin
fiyat. sokmak ( yineleyici, 30.76 ) ;
cout << 'İkinci eklemeden sonraki vektör: ' ;
görüntülemek ( fiyat ) ;
//Bir tamsayı değişkenini başlat
int konum = 3 ;
//Sayıyı belirli bir konuma ekleyin
yineleyici = fiyat. sokmak ( fiyat. başlamak ( ) + konum, 52.56 ) ;
cout << 'Üçüncü eklemeden sonraki vektör: ' ;
görüntülemek ( fiyat ) ;
geri dönmek 0 ;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Vektörün değerleri çıktıda dört kez basılmıştır.
Örnek-2: Tek elemanın birden çok kez eklenmesi
Üç parametreli insert() işlevini kullanarak aynı öğeyi vektöre birden çok kez eklemek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 8 tamsayıdan oluşan bir vektör bildirildi. Kodun insert() fonksiyonu çalıştırıldıktan sonra vektörün sonuna 5 kez 50 sayısı eklenecektir. Burada, vektörün sonuna eleman eklemek için end() fonksiyonu kullanılmıştır.
//Gerekli kütüphaneleri dahil et#include
#include
kullanarak ad alanı std ;
//Vektörü göster
geçersiz görüntülemek ( vektör < int > sayılar )
{
//Döngüyü kullanarak vektörün değerlerini yazdırıyoruz
için ( Oto O = sayılar. başlamak ( ) ; O ! = sayılar. son ( ) ; O ++ )
cout << * O << ' ' ;
//Yeni satır ekle
cout << ' \N ' ;
}
int ana ( )
{
//Vektörü başlat
vektör < int > intArray { 7 , 5 , 12 , 4 , Dört beş , 3 , 64 , 10 } ;
cout << 'Orijinal vektör: ' ;
görüntülemek ( intArray ) ;
//Vektörün sonuna aynı sayıyı birden çok kez ekliyoruz
intArray. sokmak ( intArray. son ( ) , 5 , elli ) ;
cout << 'Aynı sayıyı 5 kez ekledikten sonraki vektör: ' ;
görüntülemek ( intArray ) ;
cout << ' \N ' ;
geri dönmek 0 ;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Vektörün değerleri çıktıda iki kez basılmıştır.
Örnek-3: Eleman aralığının eklenmesi
Bir vektördeki tüm öğeleri başka bir vektörün sonuna eklemek için aşağıdaki kodu içeren bir C++ dosyası oluşturun. Burada insert() fonksiyonu üç parametre içerir. Eklemenin konumu ilk parametrede ayarlanmıştır. İkinci vektörün başlangıç ve bitiş yineleyicileri, insert() fonksiyonunun ikinci ve üçüncü argümanında ayarlanmıştır.
//Gerekli kütüphaneleri dahil et#include
#include
kullanarak ad alanı std ;
//Fonksiyon prototipini tanımlayın
geçersiz görüntülemek ( vektör < sicim > liste ) ;
int ana ( )
{
//İlk string vektörünü tanımlıyoruz
vektör < sicim > sayfa 1 { 'html' , 'css' , 'javascript' , 'önyükleme çubuğu' } ;
//İkinci dize vektörünü tanımlayın
vektör < sicim > liste2 { 'php' , 'java' , 'piton' , 'bash' , 'Perl' } ;
cout << 'Liste1'in değerleri: ' ;
görüntülemek ( sayfa 1 ) ;
cout << 'Liste2'nin değerleri: ' ;
görüntülemek ( liste2 ) ;
//Liste2'nin değerlerini liste1'in başına ekliyoruz
sayfa 1. sokmak ( sayfa 1. başlamak ( ) liste2. başlamak ( ) liste2. son ( ) ) ;
cout << 'Liste2'yi ekledikten sonra liste1'in değerleri: ' ;
görüntülemek ( sayfa 1 ) ;
geri dönmek 0 ;
}
//Vektörü göster
geçersiz görüntülemek ( vektör < sicim > liste )
{
//Döngüyü kullanarak vektörün değerlerini yazdırıyoruz
için ( Oto O = liste. başlamak ( ) ; O ! = liste. son ( ) ; O ++ )
cout << * O << ' ' ;
//Yeni satır ekle
cout << ' \N ' ;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Vektörün değerleri çıktıda üç kez basılmıştır.
Çözüm:
Insert() işlevini kullanarak bir veya daha fazla öğeyi vektörün herhangi bir konumuna eklemenin yolları, bu eğitimde birden fazla örnek kullanılarak gösterilmiştir. Umarım C++ kodlayıcısı bu eğitimi okuduktan sonra vektörün insert() fonksiyonunu doğru şekilde kullanır.