30 Contoh Vektor C++

30 Contoh Vektor C



Dalam C++, Vektor adalah struktur data satu dimensi yang berkembang secara dinamis berdasarkan kebutuhan. Organisasi data (penyisipan/modifikasi/penghapusan) dapat dilakukan secara efisien dalam struktur data ini. Penerapannya antara lain sebagai berikut:

  1. Mewakili vektor matematika dalam aplikasi ilmiah dan teknik
  2. Antrian, tumpukan dapat diimplementasikan menggunakan struktur data ini, dll.

Sebagian besar operasi dan fungsi CRUD umum yang terkait dengan struktur data ini dibahas secara rinci berdasarkan skenario dengan sintaks dan cuplikan kode.







Topik Isi:

  1. Masukkan Elemen ke dalam Vektor
  2. Masukkan Beberapa Elemen ke dalam Vektor
  3. Akses Elemen dari Vektor
  4. Perbarui Elemen dalam Vektor
  5. Hapus Elemen Tertentu dari Vektor
  6. Hapus Semua Elemen dari Vektor
  7. Persatuan Vektor
  8. Persimpangan Vektor
  9. Periksa Apakah Vektornya Kosong atau Tidak
  10. Lintasi Vektor Menggunakan Const_Iterator
  11. Lintasi Vektor Menggunakan Reverse_Iterator
  12. Dorong Elemen ke dalam Vektor
  13. Keluarkan Elemen dari Vektor
  14. Tukar Vektor
  15. Ambil Elemen Pertama dari Vektor
  16. Ambil Elemen Terakhir dari Vektor
  17. Tetapkan Nilai Baru ke Vektor
  18. Perluas Vektor Menggunakan Emplace()
  19. Perluas Vektor Menggunakan Emplace_Back()
  20. Elemen Maksimum suatu Vektor
  21. Elemen Minimum suatu Vektor
  22. Jumlah Elemen dalam Vektor
  23. Perkalian Dua Vektor Secara Elemen
  24. Perkalian Titik Dua Vektor
  25. Ubah Set menjadi Vektor
  26. Hapus Elemen Duplikat
  27. Ubah Vektor menjadi Set
  28. Hapus String Kosong
  29. Tulis Vektor ke File Teks
  30. Buat Vektor dari File Teks

Masukkan Elemen ke dalam Vektor

Itu std::vektor::masukkan() fungsi di C++ STL digunakan untuk menyisipkan elemen pada posisi yang ditentukan.



Sintaksis:

vektor. menyisipkan ( posisi, elemen ) ;

Mari kita manfaatkan fungsi ini dan meneruskan posisi pertama sebagai parameter yang menentukan posisi di mana elemen harus disisipkan dan menyediakan elemen sebagai parameter kedua.



Fungsi Begin() dapat digunakan di sini untuk mengembalikan iterator yang menunjuk ke elemen pertama dari vektor masukan. Dengan menambahkan posisi ke fungsi ini, elemen disisipkan pada posisi tersebut.





Mari kita buat vektor “nama_siswa” bertipe string dan masukkan dua string pada posisi pertama dan kedua, satu demi satu, menggunakan fungsi insert().

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Menginisialisasi vektor - nama_siswa

vektor < rangkaian > nama_siswa ;

cout << 'Vektor yang ada: \N ' ;

untuk ( mobil Saya : nama_siswa ) cout << Saya << akhir ;

// Masukkan 'Sravan Kumar' di posisi pertama

nama_siswa. menyisipkan ( nama_siswa. mulai ( ) + 0 , 'Shravan Kumar' ) ;

// Masukkan 'Sravan Kumar' di posisi kedua

nama_siswa. menyisipkan ( nama_siswa. mulai ( ) + 1 , 'Lalita' ) ;

cout << 'Vektor terakhir: \N ' ;

untuk ( mobil J : nama_siswa ) cout << J << akhir ;

}

Keluaran:

Sebelumnya, vektor “nama_siswa” kosong. Setelah penyisipan, vektor menampung dua elemen.



Masukkan Beberapa Elemen ke dalam Vektor

Kami menggunakan fungsi yang sama yaitu std::vector::insert() dalam skenario ini. Namun kita perlu meneruskan parameter ekstra/berbeda ke fungsi yang sama untuk memasukkan banyak elemen ke dalam vektor.

Skenario 1: Memasukkan Elemen Tunggal Beberapa Kali

Dalam skenario ini, kami menambahkan elemen yang sama beberapa kali.

Sintaksis:

vektor. menyisipkan ( posisi, ukuran, elemen ) ;

Untuk melakukan ini, kita perlu meneruskan ukuran sebagai parameter kedua ke fungsi insert(). Total parameter yang diteruskan ke fungsi ini ada tiga.

Di Sini:

  1. Parameter position menentukan posisi elemen yang akan disisipkan. Jika ukurannya lebih besar dari 1, indeks posisi awal adalah posisinya.
  2. Parameter ukuran menentukan berapa kali suatu elemen akan dimasukkan.
  3. Parameter elemen mengambil elemen untuk dimasukkan ke dalam vektor.

Pertimbangkan vektor “nama_siswa” dengan dua string. Masukkan senar “Lavanya” sebanyak lima kali pada posisi kedua.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Menginisialisasi vektor - nama_siswa

vektor < rangkaian > nama_siswa { 'Shravan Kumar' , 'Lalita' } ;

cout << 'Vektor yang ada: \N ' ;

untuk ( mobil Saya : nama_siswa ) cout << Saya << akhir ;

// Masukkan 'Lavanya' pada posisi kedua sebanyak 5 kali

nama_siswa. menyisipkan ( nama_siswa. mulai ( ) + 1 , 5 , 'Lavanya' ) ;

cout << ' \N Vektor terakhir: \N ' ;

untuk ( mobil J : nama_siswa ) cout << J << akhir ;

}

Keluaran:

Pada vektor yang ada, “Sravan Kumar” berada di posisi pertama dan “Lalitha” di posisi kedua. Setelah memasukkan “Lavanya” sebanyak lima kali (dari posisi kedua ke posisi keenam), “Lalitha” berpindah ke posisi ketujuh (terakhir).

Skenario 2: Memasukkan Beberapa Elemen

Dalam skenario ini, kami menambahkan elemen berbeda sekaligus dari vektor lain. Kami juga menggunakan fungsi yang sama di sini tetapi sintaks dan parameternya akan berubah.

Sintaksis:

vektor. menyisipkan ( posisi, iterator_pertama,iterator_kedua ) ;

Untuk melakukan ini, kita perlu meneruskan ukuran sebagai parameter kedua ke fungsi insert(). Total parameter yang diteruskan ke fungsi ini ada tiga.

Di Sini:

  1. Parameter position menentukan posisi elemen yang akan disisipkan.
  2. 'first_iterator' menentukan posisi awal dari mana elemen akan dimasukkan (pada dasarnya, menggunakan fungsi Begin(), sebuah iterator dikembalikan yang menunjuk ke elemen pertama yang ada dalam wadah).
  3. 'second_iterator' menentukan posisi akhir hingga elemen akan dimasukkan (pada dasarnya, menggunakan fungsi end(), sebuah iterator dikembalikan yang menunjuk ke sebelah titik terakhir yang ada dalam wadah).

Buat dua vektor, “marks1” dan “marks2”, bertipe integer. Masukkan semua elemen yang ada pada vektor “marks2” ke posisi pertama vektor “marks1”.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Menginisialisasi vektor - mark1

vektor < ke dalam > tanda1 { 100 , 89 , 90 , 78 , 98 } ;

cout << 'Vektor pertama: \N ' ;

untuk ( mobil Saya : tanda1 ) cout << Saya << akhir ;

// Menginisialisasi vektor - mark2

vektor < ke dalam > tanda2 { 56 , Empat. Lima , 65 } ;

cout << 'Vektor kedua: \N ' ;

untuk ( mobil J : tanda2 ) cout << J << akhir ;

tanda1. menyisipkan ( mulai ( tanda1 ) , mulai ( tanda2 ) , akhir ( tanda2 ) ) ;



// Vektor terakhir

cout << 'Vektor Pertama-Final: \N ' ;

untuk ( mobil X : tanda1 )

cout << X << ' ' ;

}

Keluaran:

Vektor pertama (marks1) menampung lima elemen dan vektor kedua (marks2) menampung tiga elemen. Kami meneruskan parameter mulai (tanda1), mulai(tanda2), akhir(tanda2) ke fungsi “masukkan” sedemikian rupa sehingga semua elemen yang ada dalam vektor kedua diiterasi dan dimasukkan ke dalam vektor pertama di awal. Jadi, vektor pertama menampung delapan elemen.

Akses Elemen dari Vektor

1. Menggunakan Operator [].

Dalam beberapa skenario, Anda mungkin memiliki persyaratan untuk mengembalikan hanya elemen tertentu dari vektor. Mengembalikan semua elemen tidak diperlukan. Jadi, untuk mengembalikan elemen tertentu saja berdasarkan indeks, operator indeks dan fungsi at() digunakan.

Sintaksis:

vektor [ indeks_posisi ]

Di C++, pengindeksan dimulai dari 0 untuk struktur data apa pun. Jika elemen tidak ada, ia kembali kosong (Tidak ada kesalahan atau peringatan muncul).

Pertimbangkan vektor “produk” dengan lima item. Akses semua elemen satu per satu menggunakan posisi indeks.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

//Mengakses elemen dari produk

cout << 'Elemen Pertama:' << produk [ 0 ] << akhir ;

cout << 'Elemen Kedua:' << produk [ 1 ] << akhir ;

cout << 'Elemen Ketiga:' << produk [ 2 ] << akhir ;

cout << 'Elemen Keempat:' << produk [ 3 ] << akhir ;

cout << 'Elemen Kelima:' << produk [ 4 ] << akhir ;



// Coba akses elemen ke-9

cout << 'Elemen Kesembilan:' << produk [ 8 ] << akhir ;

}

Keluaran:

Tidak ada elemen yang ada di indeks 8. Jadi, kosong dikembalikan.

2. Menggunakan Fungsi At()

At() adalah fungsi anggota yang mirip dengan kasus penggunaan sebelumnya tetapi mengembalikan pengecualian “std::out_of_range” ketika indeks di luar jangkauan diberikan padanya.

Sintaksis:

vektor. pada ( indeks_posisi )

Kita perlu meneruskan posisi indeks ke fungsi ini.

Pertimbangkan vektor “produk” dengan lima item. Akses semua elemen satu per satu menggunakan posisi indeks dan coba akses elemen yang ada di posisi ke-9.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

//Mengakses elemen dari produk

cout << 'Elemen Pertama:' << produk. pada ( 0 ) << akhir ;

cout << 'Elemen Kedua:' << produk. pada ( 1 ) << akhir ;

cout << 'Elemen Ketiga:' << produk. pada ( 2 ) << akhir ;

cout << 'Elemen Keempat:' << produk. pada ( 3 ) << akhir ;

cout << 'Elemen Kelima:' << produk. pada ( 4 ) << akhir ;



//Mengakses elemen yang tidak ada dalam vektor

cout << 'Elemen Kesembilan:' << produk. pada ( 8 ) << akhir ;

}

Keluaran:

Terjadi kesalahan saat mengakses elemen ke-9:

penghentian dipanggil setelah melempar sebuah instance 'std::diluar_jangkauan'

Apa ( ) : vektor :: _M_rentang_periksa : __N ( yang 8 ) >= ini - > ukuran ( ) ( yang 5 )

Perbarui Elemen dalam Vektor

1. Menggunakan Operator [].

Dengan menggunakan posisi indeks, kita dapat memperbarui elemen dalam vektor. Operator [] mengambil posisi indeks elemen yang harus diperbarui. Elemen baru akan ditugaskan ke operator ini.

Sintaksis:

Vektor [ indeks_posisi ] = Elemen

Pertimbangkan vektor “student_marks” dengan lima nilai. Perbarui elemen yang ada di indeks 1 dan 3.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - tanda_siswa

vektor < ke dalam > tanda_siswa { 98 , 78 , 90 , 67 , 89 } ;

cout << 'Tanda yang ada:' << akhir ;

untuk ( ke dalam itr : tanda_siswa )

cout << itr << akhir ;

// Perbarui elemen di indeks-3 dengan 100

tanda_siswa [ 3 ] = 100 ;

// Perbarui elemen di indeks-1 dengan 60

tanda_siswa [ 1 ] = 60 ;

cout << 'Nilai akhir:' << akhir ;

untuk ( ke dalam itr : tanda_siswa )

cout << itr << akhir ;

}

Keluaran:

Kita dapat melihat bahwa vektor terakhir menampung elemen pembaruan pada indeks 1 dan 3.

2. Menggunakan Fungsi At()

Mirip dengan operator indeks, at() pada dasarnya adalah fungsi anggota yang memperbarui nilai berdasarkan indeks di iterator. Jika indeks yang ditentukan di dalam fungsi ini tidak ada, pengecualian “std::out_of_range” akan dilempar.

vektor. pada ( indeks_posisi ) = Elemen

Pertimbangkan vektor “produk” dengan lima item. Perbarui semua elemen yang ada di vektor dengan elemen lainnya.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

cout << 'Produk yang Ada:' << akhir ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

//Memperbarui semua string

produk. pada ( 0 ) = 'Kue' ;

produk. pada ( 1 ) = 'Cokelat' ;

produk. pada ( 2 ) = 'Buah-buahan' ;

produk. pada ( 3 ) = 'Bawang' ;

produk. pada ( 4 ) = 'Minuman ringan' ;



cout << ' \N Produk Akhir: ' << akhir ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

}

Keluaran:

Hapus Elemen Tertentu dari Vektor

Di C++, itu std::vektor::hapus() fungsi digunakan untuk menghapus elemen/rentang elemen tertentu dari vektor. Elemen dihapus berdasarkan posisi iterator.

Sintaksis:

vektor. menghapus ( posisi iterator )

Mari kita lihat sintaks untuk menghapus elemen tertentu dari sebuah vektor. Kita dapat memanfaatkan fungsi Begin() atau End() untuk menghilangkan posisi elemen yang ada dalam vektor.

Pertimbangkan vektor “produk” dengan lima item.

  1. Hapus elemen ketiga dengan menentukan iterator Begin(). Begin() menunjuk ke elemen pertama dalam vektor. Jika kita menambahkan dua ke fungsi ini, ini menunjuk ke elemen ketiga.
  2. Hapus elemen terakhir dengan menentukan iterator end(). End() menunjuk ke elemen terakhir dalam vektor.
#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

cout << 'Produk yang Ada:' << akhir ;

untuk ( merangkainya : produk )

cout << itr << akhir ;



// Hapus elemen ke-3

produk. menghapus ( produk. mulai ( ) + 2 ) ;

cout << ' \N Setelah menghapus elemen ke-3: \N ' ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

// Hapus elemen terakhir

produk. menghapus ( produk. akhir ( ) ) ;

cout << ' \N Setelah menghapus elemen terakhir: \N ' ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

}

Keluaran:

Sekarang, hanya ada tiga elemen (“sabun”, “sampo”, “buah-buahan”) yang ada dalam vektor “produk”.

Hapus Semua Elemen dari Vektor

Skenario 1: Hapus Rentang Elemen dari Vektor

Mari gunakan fungsi std::vector::erase() untuk menghapus beberapa elemen dalam suatu rentang.

Sintaksis:

vektor. menghapus ( iterator pertama, iterator terakhir )

Dua iterator (begin() menunjuk ke elemen pertama dan end() menunjuk ke fungsi elemen terakhir) digunakan untuk menentukan rentang.

Pertimbangkan vektor “produk” dengan lima item dan hapus semua elemen dari posisi kedua. Untuk mencapai hal ini, iterator pertama adalah mulai (produk)+1 yang menunjuk ke elemen kedua dan iterator kedua adalah akhir (produk).

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

cout << 'Produk yang Ada:' << akhir ;

untuk ( merangkainya : produk )

cout << itr << akhir ;



// Hapus semua elemen dari posisi kedua

produk. menghapus ( mulai ( produk ) + 1 ,akhir ( produk ) ) ;

cout << ' \N Produk Akhir: \N ' ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

}

Keluaran:

Sekarang, hanya ada satu elemen (“sabun”) yang ada dalam vektor “produk”.

Skenario 2: Hapus Semua Elemen dari Vektor

Mari kita gunakan std::vektor::hapus() berfungsi untuk menghapus semua elemen dari vektor.

Sintaksis:

vektor. jernih ( )

Tidak ada parameter yang diteruskan ke fungsi ini.

Pertimbangkan vektor yang sama yang digunakan dalam skenario pertama dan hapus semua elemen menggunakan fungsi clear().

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - produk dengan 5 string

vektor < rangkaian > produk { 'sabun mandi' , 'sampo' , 'minyak' , 'buah-buahan' , 'Sayuran' } ;

cout << 'Produk yang Ada:' << akhir ;

untuk ( merangkainya : produk )

cout << itr << akhir ;



// Hapus semua elemen dari produk

produk. jernih ( ) ;

cout << ' \N Produk Akhir: \N ' ;

untuk ( merangkainya : produk )

cout << itr << akhir ;

}

Keluaran:

Kita dapat melihat bahwa tidak ada elemen dalam vektor “produk”.

Persatuan Vektor

Operasi UNION pada vektor dapat dilakukan menggunakan fungsi std::set_union(). Union mengembalikan elemen unik dari vektor dengan mengabaikan elemen duplikat. Kita perlu meneruskan kedua iterator ke fungsi ini. Bersamaan dengan ini, sebuah iterator keluaran harus dilewati yang menyimpan hasil yang dikembalikan oleh kedua iterator.

Sintaksis:

set_union ( InputIterator1 pertama1, InputIterator1 terakhir1, InputIterator2 pertama2, InputIterator2 terakhir2, OutputIterator res ) ;

Di Sini:

  1. 'Pertama1' menunjuk ke elemen pertama dari iterator pertama (vektor).
  2. 'last1' menunjuk ke elemen terakhir dari iterator pertama (vektor).
  3. 'Pertama2' menunjuk ke elemen pertama dari iterator kedua (vektor).
  4. 'last2' menunjuk ke elemen terakhir dari iterator kedua (vektor).

Buat dua vektor – “subjek1” dan “subjek2” – bertipe integer.

  1. Urutkan kedua vektor menggunakan fungsi sort() dengan meneruskan iterator.
  2. Buat vektor keluaran (iterator).
  3. Temukan gabungan kedua vektor ini menggunakan fungsi std::set_union(). Gunakan Begin() sebagai iterator pertama dan end() sebagai iterator terakhir.
  4. Ulangi vektor keluaran untuk menampilkan elemen yang dikembalikan oleh fungsi.
#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - tanda1

vektor < ke dalam > tanda1 = { 100 , 90 , 80 , 70 , 60 } ;



// Buat vektor - tanda2

vektor < ke dalam > tanda2 = { 80 , 90 , 60 , 70 , 100 } ;

// Urutkan kedua vektornya

menyortir ( tanda1. mulai ( ) , tanda1. akhir ( ) ) ;

menyortir ( tanda2. mulai ( ) , tanda2. akhir ( ) ) ;

vektor < ke dalam > keluaranVektor ( tanda1. ukuran ( ) + tanda2. ukuran ( ) ) ;

vektor < ke dalam > :: iterator adalah ;

Saya = set_union ( tanda1. mulai ( ) , tanda1. akhir ( ) ,

tanda2. mulai ( ) ,tanda2. akhir ( ) ,

keluaranVektor. mulai ( ) ) ;

cout << ' \N tanda1 U tanda2: \N ' ;

untuk ( S = keluaranVektor. mulai ( ) ; S ! = Saya ; ++ S )

cout << * S << ' ' << ' \N ' ;

}

Keluaran:

Hanya ada lima elemen unik di kedua vektor (subjek1 dan subjek2).

Persimpangan Vektor

Menemukan perpotongan dua vektor dapat dilakukan dengan menggunakan fungsi std::set_intersection(). Persimpangan mengembalikan elemen yang ada di kedua vektor.

Sintaksis:

set_persimpangan ( InputIterator1 pertama1, InputIterator1 terakhir1, InputIterator2 pertama2, InputIterator2 terakhir2, OutputIterator res ) ;

Parameter yang diteruskan ke fungsi set_union() juga dapat diteruskan ke fungsi set_intersection() ini.

Buat dua vektor – “subjek1” dan “subjek2” – bertipe integer.

  1. Urutkan kedua vektor menggunakan fungsi sort() dengan meneruskan iterator.
  2. Buat vektor keluaran (iterator).
  3. Temukan perpotongan kedua vektor ini menggunakan fungsi std::set_intersection(). Gunakan Begin() sebagai iterator pertama dan end() sebagai iterator terakhir.
  4. Ulangi vektor keluaran untuk menampilkan elemen yang dikembalikan oleh fungsi.
#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - tanda1

vektor < ke dalam > tanda1 = { 100 , 10 , 80 , 40 , 60 } ;



// Buat vektor - tanda2

vektor < ke dalam > tanda2 = { lima puluh , 90 , 60 , 10 , 100 } ;

// Urutkan kedua vektornya

menyortir ( tanda1. mulai ( ) , tanda1. akhir ( ) ) ;

menyortir ( tanda2. mulai ( ) , tanda2. akhir ( ) ) ;

vektor < ke dalam > keluaranVektor ( tanda1. ukuran ( ) + tanda2. ukuran ( ) ) ;

vektor < ke dalam > :: iterator adalah ;

Saya = set_persimpangan ( tanda1. mulai ( ) , tanda1. akhir ( ) ,

tanda2. mulai ( ) ,tanda2. akhir ( ) ,

keluaranVektor. mulai ( ) ) ;

cout << ' \N tanda1 ∩ tanda2: \N ' ;

untuk ( S = keluaranVektor. mulai ( ) ; S ! = Saya ; ++ S )

cout << * S << ' ' << ' \N ' ;

}

Keluaran:

Hanya ada tiga elemen yang ada di kedua vektor (subjek1 dan subjek2).

Periksa Apakah Vektornya Kosong atau Tidak

Sebelum mengerjakan vektor, penting untuk memeriksa apakah vektor tersebut kosong atau tidak. Ini juga merupakan praktik yang baik dalam proyek perangkat lunak untuk memeriksa apakah vektornya kosong atau tidak sebelum melakukan operasi seperti operasi CRUD, dll.

1. Menggunakan Std::vector::empty()

Fungsi ini mengembalikan 1 jika vektornya kosong (tidak mengandung elemen apa pun). Jika tidak, 0 dikembalikan. Tidak ada parameter yang diteruskan ke fungsi ini.

2. Menggunakan Std::vektor::ukuran()

Fungsi std::vector::size() mengembalikan bilangan bulat yang mewakili jumlah total elemen yang ada dalam vektor.

Buat dua vektor – “college1” dan “college2”. “College1” menampung lima elemen dan “college2” kosong. Terapkan kedua fungsi pada kedua vektor dan periksa hasilnya.

#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - college1

vektor < rangkaian > perguruan tinggi1 = { 'perguruan tinggi-A' , 'perguruan tinggi-B' , 'perguruan tinggi-C' , 'perguruan tinggi-D' , 'perguruan tinggi-E' } ;

// Buat vektor - perguruan tinggi2

vektor < rangkaian > perguruan tinggi2 ;

// kosong()

cout << perguruan tinggi1. kosong ( ) << akhir ;

cout << perguruan tinggi2. kosong ( ) << akhir ;

// ukuran()

cout << perguruan tinggi1. ukuran ( ) << akhir ;

cout << perguruan tinggi2. ukuran ( ) << akhir ;

}

Keluaran:

Fungsi kosong() mengembalikan 0 untuk “college1” dan 1 untuk “college2”. Fungsi size() mengembalikan lima untuk “college1” dan 0 untuk “college2”.

Lintasi Vektor Menggunakan Const_Iterator

Saat Anda mengerjakan container C++ seperti set, vektor, dll., Anda dapat melakukan iterasi pada semua elemen yang ada di container tanpa mengubahnya. Itu const_iterator adalah salah satu iterator yang mencapai skenario ini. Cbegin() (menunjuk ke elemen pertama dalam vektor) dan cend() (menunjuk ke elemen terakhir dalam vektor) adalah dua fungsi yang disediakan oleh setiap wadah yang digunakan untuk mengembalikan iterator konstan ke awal dan akhir wadah. Saat melakukan iterasi vektor, kita dapat memanfaatkan kedua fungsi ini.

  1. Mari kita buat sebuah vektor bernama “departemen” dengan lima string.
  2. Deklarasikan const_iterator – ctr bertipe .
  3. Ulangi departemen menggunakan iterator sebelumnya menggunakan loop 'untuk' dan tampilkan.
#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - departemen

vektor < rangkaian > departemen = { 'Penjualan' , 'Melayani' ,

'SDM' , 'DIA' , 'Yang lain' } ;



vektor < rangkaian > :: const_iterator ctr ;

// Ulangi departemen menggunakan const_iterator - ctr.

untuk ( ctr = departemen. mulai ( ) ; ctr ! = departemen. Beberapa ( ) ; ctr ++ ) {

cout << * ctr << akhir ;

}

}

Keluaran:

Lintasi Vektor Menggunakan Reverse_Iterator

Itu membalikkan_iterator juga merupakan iterator yang mirip dengan const_iterator tetapi mengembalikan elemen secara terbalik. rbegin() (menunjuk ke elemen terakhir dalam vektor) dan rend() (menunjuk ke elemen pertama dalam vektor) adalah dua fungsi yang disediakan oleh setiap wadah yang digunakan untuk mengembalikan konstanta iterator ke akhir dan awal wadah.

  1. Mari kita buat sebuah vektor bernama “departemen” dengan lima string.
  2. Deklarasikan reverse_iterator – rtr bertipe .
  3. Ulangi departemen menggunakan iterator sebelumnya menggunakan loop 'untuk' dan tampilkan.
#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - departemen

vektor < rangkaian > departemen = { 'Penjualan' , 'Melayani' ,

'SDM' , 'DIA' , 'Yang lain' } ;



vektor < rangkaian > :: membalikkan_iterator rtr ;

// Ulangi departemen menggunakan reverse_iterator - rtr.

untuk ( rtr = departemen. mulai ( ) ; rtr ! = departemen. membuat ( ) ; rtr ++ ) {

cout << * rtr << akhir ;

}

}

Keluaran:

Dorong Elemen ke dalam Vektor

Mendorong atau menambahkan elemen ke dalam vektor adalah penyisipan satu arah yang dapat dilakukan dengan menggunakan vektor::push_back() fungsi.

Sintaksis:

vektor. dorong_kembali ( elemen )

Dibutuhkan sebuah elemen untuk dimasukkan ke dalam vektor sebagai parameter.

Mari kita buat vektor kosong bernama “departemen” dengan lima string dan dorong dua string satu demi satu menggunakan fungsi push_back().

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Inisialisasi vektor - departemen

vektor < rangkaian > departemen ;

cout << 'Departemen Sebenarnya:' << akhir ;

untuk ( mobil itr = departemen. mulai ( ) ; itr ! = departemen. akhir ( ) ; ++ itr )

cout << * itr << akhir ;

// Dorong 'Penjualan'

departemen. dorong_kembali ( 'Penjualan' ) ;

// Mendorongnya'

departemen. dorong_kembali ( 'DIA' ) ;

cout << ' \N Departemen Terakhir:' << akhir ;

untuk ( mobil itr = departemen. mulai ( ) ; itr ! = departemen. akhir ( ) ; ++ itr )

cout << * itr << akhir ;

}

Keluaran:

Pertama, kita dorong bagian “Penjualan”. Setelah itu, “IT” dimasukkan ke dalam vektor. Sekarang, vektor “departemen” menampung dua elemen.

Keluarkan Elemen dari Vektor

Jika Anda ingin menghapus item terakhir yang ada di vektor, gunakan vektor::pop_back() fungsi adalah pendekatan terbaik. Ini menghapus elemen terakhir yang ada di vektor.

Sintaksis:

vektor. pop_back ( )

Tidak diperlukan parameter untuk fungsi ini. Ini menunjukkan perilaku tidak terdefinisi jika kita mencoba menghapus elemen terakhir dari vektor kosong.

Mari kita buat vektor kosong bernama “departemen” dengan lima string dan hapus elemen terakhir menggunakan fungsi sebelumnya. Tampilkan vektor dalam kedua kasus.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Inisialisasi vektor - departemen

vektor < rangkaian > departemen = { 'Penjualan' , 'DIA' , 'Melayani' , 'Pemasaran' , 'SDM' } ;

cout << 'Departemen Sebenarnya:' << akhir ;

untuk ( mobil itr = departemen. mulai ( ) ; itr ! = departemen. akhir ( ) ; ++ itr )

cout << * itr << akhir ;



// Hapus elemen terakhir

departemen. pop_back ( ) ;

cout << ' \N Departemen Terakhir:' << akhir ;

untuk ( mobil itr = departemen. mulai ( ) ; itr ! = departemen. akhir ( ) ; ++ itr )

cout << * itr << akhir ;

}

Keluaran:

“SDM” adalah elemen terakhir yang ada dalam vektor “departemen”. Jadi, vektor tersebut dihapus dari vektor dan vektor terakhir berisi “Penjualan”, “TI”, “Layanan”, dan “Pemasaran”.

Tukar Vektor

Itu vektor::tukar() fungsi di C++ STL digunakan untuk menukar semua elemen yang ada dalam dua vektor.

Sintaksis:

vektor_pertama. menukar ( vektor_kedua )

Ini tidak mempertimbangkan ukuran vektor tetapi vektor harus bertipe sama (kesalahan muncul jika tipe vektor berbeda).

Mari kita buat dua vektor – “buah” dan “sayuran” – bertipe string dengan ukuran berbeda. Tukar masing-masing vektor dan tampilkan vektor dalam kedua kasus.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Inisialisasi vektor - buah

vektor < rangkaian > buah-buahan = { 'Apel' , 'Buah mangga' } ;

cout << 'Buah Sebenarnya:' << akhir ;

untuk ( mobil itr = buah-buahan. mulai ( ) ; itr ! = buah-buahan. akhir ( ) ; ++ itr )

cout << * itr << akhir ;



// Inisialisasi vektor - sayuran

vektor < rangkaian > Sayuran = { 'Kentang' , 'Tomat' , 'Brinjal' } ;

cout << ' \N Sayuran Sebenarnya:' << akhir ;

untuk ( mobil itr = Sayuran. mulai ( ) ; itr ! = Sayuran. akhir ( ) ; ++ itr )

cout << * itr << akhir ;



// Tukar elemen di kedua vektor

buah-buahan. menukar ( Sayuran ) ;

cout << ' \N Buah setelah ditukar:' << akhir ;

untuk ( mobil itr = buah-buahan. mulai ( ) ; itr ! = buah-buahan. akhir ( ) ; ++ itr )

cout << * itr << akhir ;

cout << ' \N Sayuran setelah ditukar:' << akhir ;

untuk ( mobil itr = Sayuran. mulai ( ) ; itr ! = Sayuran. akhir ( ) ; ++ itr )

cout << * itr << akhir ;

}

Keluaran:

Sebelumnya, vektor “buah-buahan” menampung dua elemen dan vektor “sayuran” menampung tiga elemen. Setelah ditukar, vektor “buah-buahan” menampung tiga elemen dan vektor “sayuran” menampung dua elemen.

Ambil Elemen Pertama dari Vektor

Dalam beberapa kasus, persyaratannya adalah mengembalikan hanya elemen pertama dari vektor. Fungsi vector::front() di C++ STL hanya mengambil elemen pertama dari vektor.

Sintaksis:

vektor. depan ( )

Fungsi ini tidak akan mengambil parameter apa pun. Jika vektornya kosong, kesalahan akan terjadi.

Mari kita buat dua vektor – “buah-buahan” dan “sayuran” – bertipe string dan coba ambil elemen pertama secara terpisah dari kedua vektor tersebut.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - buah dengan 2 elemen

vektor < rangkaian > buah-buahan = { 'Apel' , 'Buah mangga' } ;

// Mengembalikan elemen pertama

cout << buah-buahan. depan ( ) << akhir ;



// Inisialisasi vektor - sayuran

vektor < rangkaian > Sayuran ;

// Cobalah untuk mengembalikan elemen pertama

cout << Sayuran. depan ( ) ;

}

Keluaran:

“Apel” adalah elemen pertama yang ada dalam vektor “buah”. Jadi, itu dikembalikan. Namun kesalahan terjadi saat kami mencoba mengambil elemen pertama dari vektor “sayuran” karena kosong.

Ambil Elemen Terakhir dari Vektor

Fungsi vector::end() di C++ STL hanya mengambil elemen terakhir dari vektor.

Sintaksis:

vektor. kembali ( )

Fungsi ini tidak akan mengambil parameter apa pun. Jika vektornya kosong, kesalahan terjadi.

Mari kita buat dua vektor – “buah-buahan” dan “sayuran” – bertipe string dan coba ambil elemen terakhir secara terpisah dari kedua vektor tersebut.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - buah dengan 2 elemen

vektor < rangkaian > buah-buahan = { 'Apel' , 'Buah mangga' } ;

// Ambil elemen terakhir

cout << buah-buahan. kembali ( ) << akhir ;



// Inisialisasi vektor - sayuran

vektor < rangkaian > Sayuran ;

// Cobalah untuk mengambil elemen terakhir

cout << Sayuran. kembali ( ) ;

}

Keluaran:

“Mangga” adalah elemen terakhir yang ada dalam vektor “buah”. Jadi, itu dikembalikan. Namun kesalahan terjadi saat kami mencoba mengambil elemen terakhir dari vektor “sayuran” karena kosong.

Tetapkan Nilai Baru ke Vektor

Dalam beberapa skenario, jika Anda ingin memperbarui semua nilai dengan nilai baru atau membuat vektor dengan nilai yang sama, menggunakan fungsi vector::assign() adalah pendekatan terbaik. Dengan menggunakan fungsi ini, kita dapat:

  1. Buat vektor dengan semua elemen serupa
  2. Ubah vektor yang ada dengan elemen yang sama

Sintaksis:

vektor. menetapkan ( ukuran, nilai )

Dua parameter diperlukan untuk fungsi ini.

Di Sini:

  1. Ukuran menentukan jumlah elemen yang akan ditetapkan.
  2. Nilai menentukan elemen yang akan ditetapkan.

Mari kita buat sebuah vektor bernama “marks1” dengan lima nilai dan perbarui vektor ini dengan empat elemen sehingga semua elemen dalam vektor yang diperbarui sama dengan 20.

#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - tanda1

vektor < ke dalam > tanda1 = { 100 , 90 , 80 , 70 , 60 } ;

cout << 'Vektor Aktual:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < tanda1. ukuran ( ) ; Saya ++ )

cout << tanda1 [ Saya ] << akhir ;



tanda1. menetapkan ( 4 , dua puluh ) ;



cout << ' \N Vektor yang Diperbarui:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < tanda1. ukuran ( ) ; Saya ++ )

cout << tanda1 [ Saya ] << akhir ;

}

Keluaran:

Sebelumnya, vektor menampung lima elemen berbeda. Sekarang, ia hanya menampung empat elemen dan semuanya sama dengan 20.

Perluas Vektor Menggunakan Emplace()

Kita telah mengetahui bahwa elemen baru disisipkan secara dinamis pada posisi mana pun dalam vektor. Hal ini dimungkinkan dengan menggunakan fungsi vector::emplace(). Mari kita lihat sintaks dan parameter yang diterima oleh fungsi ini.

Sintaksis:

vektor. lokasi ( posisi const_iterator, elemen )

Dua parameter wajib diteruskan ke fungsi ini.

Di Sini:

  1. Parameter pertama mengambil posisi sehingga kita dapat menyisipkan elemen di posisi mana pun. Kita bisa mendapatkan posisi tersebut menggunakan fungsi iterator Begin() atau End().
  2. Parameter kedua adalah elemen yang akan dimasukkan ke dalam vektor.

Pertimbangkan vektor “kimia” dengan dua elemen.

  1. Masukkan “Mangan” pada posisi pertama – mulai(bahan kimia)
  2. Masukkan “Tembaga” di posisi terakhir – akhir (bahan kimia)
  3. Masukkan 'Sulfur' di posisi ketiga – mulai(kimia)+2
#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - bahan kimia

vektor < rangkaian > bahan kimia = { 'Oksigen' , 'BERSAMA' } ;

cout << 'Bahan Kimia Sebenarnya:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < bahan kimia. ukuran ( ) ; Saya ++ )

cout << bahan kimia [ Saya ] << akhir ;



// Sisipkan elemen pada posisi pertama

bahan kimia. lokasi ( mulai ( bahan kimia ) , 'Mangan' ) ;



// Sisipkan elemen di posisi terakhir

bahan kimia. lokasi ( akhir ( bahan kimia ) , 'Tembaga' ) ;



// Sisipkan elemen pada posisi ketiga

bahan kimia. lokasi ( mulai ( bahan kimia ) + 2 , 'Sulfur' ) ;



cout << ' \N Bahan Kimia Akhir:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < bahan kimia. ukuran ( ) ; Saya ++ )

cout << bahan kimia [ Saya ] << akhir ;

}

Keluaran:

Sekarang, vektor terakhir menampung lima elemen (disediakan pada gambar layar berikut).

Perluas Vektor Menggunakan Emplace_Back()

Sebuah elemen dapat ditambahkan (menambahkan di akhir vektor) yang dapat dilakukan dengan menggunakan vektor::emplace_back() fungsi.

Sintaksis:

vektor. emplace_back ( elemen )

Elemen yang akan ditambahkan ke vektor wajib diteruskan sebagai parameter.

Mari tambahkan dua elemen satu demi satu menggunakan fungsi emplace_back().

#sertakan

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - bahan kimia

vektor < rangkaian > bahan kimia = { 'Oksigen' , 'BERSAMA' } ;

cout << 'Bahan Kimia Sebenarnya:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < bahan kimia. ukuran ( ) ; Saya ++ )

cout << bahan kimia [ Saya ] << akhir ;



// Sisipkan Mangan di akhir vektor

bahan kimia. emplace_back ( 'Mangan' ) ;



// Sisipkan Mangan di akhir vektor

bahan kimia. emplace_back ( 'Tembaga' ) ;





cout << ' \N Bahan Kimia Akhir:' << akhir ;

untuk ( ke dalam Saya = 0 ; Saya < bahan kimia. ukuran ( ) ; Saya ++ )

cout << bahan kimia [ Saya ] << akhir ;

}

Keluaran:

Sekarang, vektor terakhir menampung empat elemen setelah menambahkan “Mangan” dan “Tembaga”.

Elemen Maksimum suatu Vektor

  1. Buat vektor dengan beberapa elemen.
  2. Untuk menemukan elemen maksimum yang ada dalam vektor, gunakan fungsi *max_element() yang menerima dua iterator sebagai argumen. Kedua parameter ini bertindak sebagai rentang dan elemen maksimum dikembalikan dalam rentang yang disediakan. Posisi awal adalah mulai() dan posisi terakhir adalah akhir().
* elemen_maks ( Indeks_pertama,Indeks_terakhir )

Mari kita pertimbangkan sebuah vektor bernama “item_costs” yang menampung lima nilai tipe integer dan mengembalikan elemen maksimum.

#termasuk

#termasuk

#sertakan

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - item_costs

vektor < ke dalam > item_biaya = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Harga Barang: \N ' ;

untuk ( ke dalam Saya = 0 ; Saya < item_biaya. ukuran ( ) ; Saya ++ )

cout << item_biaya [ Saya ] << akhir ;



// Mengembalikan elemen maksimum dari vektor di atas - item_costs

cout << ' \N Biaya Maksimum: ' << * elemen_maks ( mulai ( item_biaya ) ,akhir ( item_biaya ) ) ;

}

Keluaran:

Di sini, 8900 adalah elemen maksimum di antara semua elemen yang ada dalam vektor ”item_costs”.

Elemen Minimum suatu Vektor

  1. Buat vektor dengan beberapa elemen.
  2. Untuk menemukan elemen minimum yang ada dalam vektor, gunakan fungsi *min_element() yang menerima dua iterator sebagai argumen. Kedua parameter ini bertindak sebagai rentang dan elemen minimum (kurang dari semua elemen lainnya) dikembalikan dalam rentang yang disediakan. Posisi awal adalah mulai() dan posisi terakhir adalah akhir().
* elemen_min ( Indeks_pertama,Indeks_terakhir )

Manfaatkan vektor yang sama yang dibuat untuk mencari elemen maksimum dan mencari elemen minimum menggunakan fungsi *min_element().

#termasuk

#termasuk

#sertakan

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - item_costs

vektor < ke dalam > item_biaya = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Harga Barang: \N ' ;

untuk ( ke dalam Saya = 0 ; Saya < item_biaya. ukuran ( ) ; Saya ++ )

cout << item_biaya [ Saya ] << akhir ;



// Kembalikan elemen minimum dari vektor di atas - item_costs

cout << ' \N Biaya Minimum: ' << * elemen_min ( mulai ( item_biaya ) ,akhir ( item_biaya ) ) ;

}

Keluaran:

Di sini, 200 adalah elemen minimum di antara semua elemen yang ada dalam vektor “item_costs”.

Jumlah Elemen dalam Vektor

Untuk mengembalikan jumlah semua elemen yang ada dalam vektor, maka mengumpulkan() fungsi di C++ STL digunakan. Ia menerima tiga parameter. Parameter pertama mengambil indeks pertama yang mewakili elemen awal dalam rentang (tentukan Begin() iterator) dan parameter kedua mengambil indeks terakhir yang mewakili elemen akhir dalam rentang (tentukan end() iterator) . Terakhir, kita perlu meneruskan nilai awal penjumlahan (dalam kasus kita, nilainya adalah 0).

mengumpulkan ( indeks_pertama, indeks_terakhir, nilai_awal ) ;

Buat vektor bernama “item_costs” dengan lima elemen tipe integer dan hitung jumlahnya.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - item_costs

vektor < ke dalam > item_biaya = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Harga Barang: \N ' ;

untuk ( ke dalam Saya = 0 ; Saya < item_biaya. ukuran ( ) ; Saya ++ )

cout << item_biaya [ Saya ] << akhir ;



// Mengembalikan jumlah semua elemen dalam vektor di atas - item_costs

cout << ' \N Total biaya: ' << mengumpulkan ( mulai ( item_biaya ) ,akhir ( item_biaya ) , 0 ) ;

}

Keluaran:

Jumlah dari 8900, 5677, 200, 1000, 2300 adalah 18077.

Perkalian Dua Vektor Secara Elemen

  1. Buat dua vektor dengan tipe numerik dan dua vektor harus berukuran sama (jumlah total elemen yang ada pada vektor pertama = jumlah total elemen yang ada pada vektor kedua).
  2. Deklarasikan vektor baru dan gunakan untuk lingkaran , lakukan operasi perkalian pada dua elemen di setiap iterasi, dan simpan nilainya ke dalam vektor yang dibuat menggunakan fungsi push_back().
  3. untuk ( ke dalam itr = 0 ; Saya < pertama_vec. ukuran ( ) ; itr ++ )

    {

    hasil_vektor. dorong_kembali ( pertama_vec [ itr ] * hal_detik [ itr ] ) ;

    }
  4. Tampilkan elemen yang ada dalam vektor yang dihasilkan dengan mengulanginya.

Buat vektor bernama “item_costs” dengan lima elemen tipe integer dan hitung jumlahnya.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat dua vektor - produk1 dan produk2 dengan masing-masing 5 elemen

vektor < ke dalam > produk1 = { 10 , dua puluh , 30 , 40 , lima puluh } ;

vektor < ke dalam > produk2 = { lima puluh , 40 , 30 , 70 , 60 } ;



vektor < ke dalam > hasil_produk ;



// Melakukan perkalian elemen secara bijaksana

untuk ( ke dalam Saya = 0 ; Saya < produk1. ukuran ( ) ; Saya ++ ) {

hasil_produk. dorong_kembali ( produk1 [ Saya ] * produk2 [ Saya ] ) ;

}



// Menampilkan vektor yang dihasilkan

cout << 'Perkalian Vektor: \N ' ;

untuk ( ke dalam res : hasil_produk )

cout << res << akhir ;

}

Keluaran:

Pengulangan - 1 : 10 * lima puluh => 500

Pengulangan - 2 : dua puluh * 40 => 800

Pengulangan - 3 : 30 * 30 => 900

Pengulangan - 4 : 40 * 70 => 2800

Pengulangan - 5 : lima puluh * 60 => 3000

Perkalian Titik Dua Vektor

Dalam kasus vektor C++, perkalian titik didefinisikan sebagai “jumlah perkalian entri-entri yang bersesuaian dari dua barisan vektor”.

Sintaksis:

produk_dalam ( Vektor1 dulu, Vektor1 terakhir, Vektor2 dulu, Initial_Val )

Gunakan fungsi inner_product() untuk mengembalikan perkalian titik. Fungsi ini membutuhkan empat parameter yang diperlukan.

Di Sini:

  1. Parameter pertama mengacu pada iterator yang menunjuk ke awal vektor pertama (tentukan menggunakan fungsi Begin()).
  2. Parameter kedua mengacu pada iterator yang menunjuk ke akhir vektor pertama (tentukan menggunakan fungsi end()).
  3. Parameter ketiga mengacu pada iterator yang menunjuk ke awal vektor kedua (tentukan menggunakan fungsi Begin()).
  4. Nilai awal harus diteruskan sebagai parameter terakhir yang merupakan bilangan bulat untuk akumulasi perkalian titik.

Gunakan program yang sama yang dibuat untuk perkalian dua vektor dan gunakan fungsi innsr_product() untuk mencari perkalian titik dari dua vektor.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat dua vektor - produk1 dan produk2 dengan masing-masing 5 elemen

vektor < ke dalam > produk1 = { 10 , dua puluh , 30 , 40 , lima puluh } ;

vektor < ke dalam > produk2 = { lima puluh , 40 , 30 , 70 , 60 } ;



// Menampilkan vektor yang dihasilkan

cout << 'Dot Product dari produk1 dan produk2: ' ;

cout << produk_dalam ( mulai ( produk1 ) ,akhir ( produk1 ) ,mulai ( produk2 ) , 0 ) ;

}

Keluaran:

( 10 * lima puluh ) + ( dua puluh * 40 ) + ( 30 * 30 ) + ( 40 * 70 ) + ( lima puluh * 60 )

=> 500 + 800 + 900 + 2800 + 3000

=> 8000

Ubah Set menjadi Vektor

Ada banyak cara untuk mengubah suatu himpunan menjadi vektor dengan meneruskan semua elemen yang dipangkatkan dalam suatu himpunan menjadi vektor. Cara terbaik dan termudah adalah menggunakan fungsi std::copy().

Sintaksis

std :: menyalin ( sourceIterator pertama, sourceIterator terakhir, tujuanIterator pertama )

Menggunakan std::salin() fungsi yang menyisipkan elemen dari suatu himpunan ke dalam vektor. Dibutuhkan tiga parameter.

Di Sini:

  1. Parameter pertama mengacu pada iterator sumber yang menunjuk ke elemen pertama di iterator. Di sini, set adalah iterator sumber yang ditentukan menggunakan fungsi Begin().
  2. Demikian pula, parameter kedua menunjuk ke elemen terakhir (fungsi end()).
  3. Parameter ketiga mengacu pada iterator tujuan yang menunjuk ke elemen pertama (ditentukan menggunakan fungsi Begin()) di iterator.

Mari kita membuat himpunan dengan lima siswa dan menyalin semua elemen ke dalam vektor menggunakan fungsi sebelumnya.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat satu set - siswa dengan 5 elemen

mengatur < rangkaian > siswa = { 'Sravan' , 'Polisi' , 'Madhu' , 'Megana' , 'Lavanya' } ;

cout << 'Mengatur: \N ' ;

untuk ( tali saya : siswa )

cout << Saya << akhir ;



// Buat Vektor - ukuran student_vcof sama dengan ukuran himpunan

vektor < rangkaian > pelajar_vc ( siswa. ukuran ( ) ) ;



// Menyisipkan elemen dari Set - siswa ke dalam Vektor - student_vc.

menyalin ( siswa. mulai ( ) , siswa. akhir ( ) , pelajar_vc. mulai ( ) ) ;



cout << ' \N Vektor: \N ' ;

untuk ( tali saya : pelajar_vc )

cout << Saya << akhir ;

}

Keluaran:

Sekarang, semua elemen yang ada di set “Students” disalin ke dalam vektor “students_vc”.

Hapus Elemen Duplikat

  1. Pertama, kita perlu mengurutkan elemen-elemen dalam vektor sehingga semua elemen duplikat akan berdekatan satu sama lain menggunakan std::sort() fungsi.
  2. std :: menyortir ( Vektor dulu, Vektor terakhir ) ;
  3. Gunakan fungsi std::unique() sehingga elemen duplikat akan dipilih. Pada saat yang sama, gunakan fungsi Erase() untuk menghapus duplikat yang dikembalikan oleh fungsi std::unique(). Urutan elemen dapat berubah pada vektor akhir.
  4. vektor. menghapus ( std :: unik ( Vektor dulu, Vektor terakhir ) , Vektor terakhir ) )

Buat vektor 'siswa' dengan 10 elemen dan kembalikan vektor tersebut dengan menghapus duplikatnya.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat vektor - siswa dengan 10 elemen

vektor < rangkaian > siswa = { 'Sravan' , 'Polisi' , 'Madhu' , 'Megana' , 'Lavanya' ,

'Sravan' , 'Polisi' , 'Madhu' , 'Megana' , 'Lavanya' } ;

cout << 'Siswa: \N ' ;

untuk ( tali saya : siswa )

cout << Saya << ' ' ;



// Urutkan semua elemen pada vektor siswa.

menyortir ( mulai ( siswa ) , akhir ( siswa ) ) ;



// Gunakan fungsi unik() untuk menghapus duplikat dengan fungsi hapus()

siswa. menghapus ( unik ( mulai ( siswa ) , akhir ( siswa ) ) , akhir ( siswa ) ) ;



cout << ' \N \N Siswa Unik: \N ' ;

untuk ( mobil itr = mulai ( siswa ) ; itr ! = Beberapa ( siswa ) ; ++ itr ) {

cout << * itr << ' ' ;

}

}

Keluaran:

Sekarang, semua elemen dalam vektor adalah unik.

Ubah Vektor menjadi Set

Set tidak mengizinkan elemen duplikat. Jika Anda mengetik untuk menyisipkan vektor ke dalam kumpulan dengan duplikat, vektor tersebut akan diabaikan. Kami menggunakan fungsi std::copy() yang sama yang digunakan dalam skenario sebelumnya yang mengubah himpunan menjadi vektor.

Dalam skenario ini:

  1. Parameter pertama mengambil vektor sebagai iterator sumber yang ditentukan menggunakan fungsi Begin().
  2. Parameter kedua mengambil vektor sebagai iterator sumber yang ditentukan menggunakan fungsi end().
  3. Lewati fungsi std::inserter() yang digunakan untuk menimpa/menyalin elemen secara otomatis pada posisi tertentu dalam himpunan dengan menyediakan himpunan dan iterator yang menunjuk ke akhir himpunan sebagai parameter.

Mari buat vektor dengan 10 bilangan bulat dan salin elemennya ke dalam satu set.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat satu set - tandai dengan 10 nilai

vektor < ke dalam > tanda = { 12 , 3.4 , 56 , 78 , 65 , 78 , 90 , 90 , 78 , 3.4 } ;

cout << 'Vektor: \N ' ;

untuk ( ke dalam Saya : tanda )

cout << Saya << ' ' ;



// Buat Set - mark_set dengan ukuran yang sama dengan ukuran vektor

mengatur < ke dalam > tanda_set ;



// Menyisipkan elemen dari Set - siswa ke dalam Vektor - student_vc.

menyalin ( mulai ( tanda ) ,akhir ( tanda ) , penyisipan ( tanda_set,akhir ( tanda_set ) ) ) ;



cout << ' \N \N Mengatur: \N ' ;

untuk ( ke dalam Saya : tanda_set )

cout << Saya << ' ' ;

}

Keluaran:

Vektor yang ada bernama “marks” memiliki 10 nilai. Setelah menyalinnya ke dalam set “marks_set”, ia hanya menampung enam elemen karena empat elemen lainnya diduplikasi.

Hapus String Kosong

Tidak ada penggunaan string kosong yang ada dalam vektor. Merupakan praktik yang baik untuk menghapus string kosong yang ada di vektor. Mari kita lihat cara menghapus string kosong dari vektor C++:

  1. Iterasi vektor menggunakan loop “for”.
  2. Pada setiap iterasi, periksa apakah elemen tersebut kosong (“”) atau tidak menggunakan operator “==” dengan fungsi anggota at().
  3. Menggunakan fungsi std::erase(), hapus string kosong setelah memeriksa kondisi sebelumnya.
  4. Ulangi langkah2 dan langkah3 hingga akhir vektor.

Mari kita buat vektor “perusahaan” dengan 10 string. Diantaranya, lima kosong dan kami menghapusnya dengan menerapkan pendekatan sebelumnya.

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( ) {



vektor < rangkaian > perusahaan { 'Perusahaan-A' , '' , 'Perusahaan-B' ,

'' , 'Perusahaan-C' , '' , 'Perusahaan-D' , '' , '' , '' } ;



// Ulangi perusahaan

// dan hapus elemen kosong menggunakan wipe()

untuk ( ke dalam itr = 1 ; itr < perusahaan. ukuran ( ) ; ++ itr ) {

jika ( perusahaan. pada ( itr ) == '' ) {

perusahaan. menghapus ( perusahaan. mulai ( ) + itr ) ;

-- itr ;

}
}

// Menampilkan vektor


untuk ( mobil & Saya : perusahaan ) {

cout << Saya << akhir ;

}

}

Keluaran:

Sekarang, vektor “perusahaan” menampung string yang tidak kosong.

Tulis Vektor ke File Teks

Mari kita bahas cara menulis semua elemen yang ada dalam vektor ke file menggunakan indeks vektor menggunakan fstream .

  1. Dorong beberapa elemen ke dalamnya menggunakan fungsi push_back setelah menginisialisasi vektor.
  2. Gunakan fungsi open() dari perpustakaan “fstream” dengan mode keluar.
  3. Lintasi setiap elemen yang ada dalam vektor menggunakan indeks dalam loop “for” dan tulis setiap elemen ke file yang disediakan.
  4. Terakhir, tutup file tersebut.

Mari terapkan pendekatan sebelumnya dengan menjalankan kode C++.

#termasuk

#termasuk

#termasuk

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buat Vektor - v_data

// dan masukkan dua elemen ke dalamnya.

vektor < rangkaian > v_data ;

v_data. dorong_kembali ( 'Selamat datang' ) ;

v_data. dorong_kembali ( 'ke LinuxPetunjuk' ) ;

aliran f ;



// Buka berkasnya

F. membuka ( 'file_tertulis.txt' ,ios_base :: keluar ) ;

// Iterasi setiap elemen vektor dan tulis ke file satu per satu.

untuk ( ke dalam Saya = 0 ; Saya < v_data. ukuran ( ) ; Saya ++ )

{

F << v_data [ Saya ] << akhir ;

}

// Tutup berkasnya

F. menutup ( ) ;

}

Keluaran:

Vektor “v_data” menampung dua elemen dan sebuah file dibuat di jalur tempat program dijalankan dengan elemen yang ada dalam vektor.

Buat Vektor dari File Teks

Kita belajar bagaimana menulis elemen-elemen yang ada dalam vektor ke file teks. Di sini, mari buat vektor dari konten yang ada di file teks.

  1. Buat “ jika streaming” variabel yang digunakan untuk membaca informasi dari file teks tempat kita membuat vektor dari file tersebut.
  2. Buat vektor kosong untuk menyimpan konten file dan gunakan variabel string kosong sebagai tanda untuk memeriksa akhir file.
  3. Baca baris berikutnya dari file hingga mencapai akhir (pada dasarnya menggunakan loop “sementara”). Gunakan fungsi push_back() untuk membaca baris berikutnya dan memasukkannya ke dalam vektor.
  4. Tampilkan garis yang ada pada baris secara terpisah untuk melihat elemen yang ada pada vektor di konsol.

Mari terapkan pendekatan sebelumnya dengan menjalankan kode C++. Mari kita perhatikan file “data.txt” dengan konten berikut. Di sini, nama vektornya adalah “v_data”.

#termasuk

menggunakan ruang nama std ;

utama ( )

{

// Buka file teks - data
file ifstream ( 'data.txt' ) ;

// Buat vektor - v_data bertipe - string


vektor < rangkaian > v_data ;

thong adalah ;

// Baca baris berikutnya dari data.txt
// sampai mencapai akhir.


ketika ( mengajukan >> dulu ) {

// Baca baris berikutnya dan masukkan ke dalam v_data

v_data. dorong_kembali ( dulu ) ;

}



// Menampilkan baris yang ada pada baris secara terpisah.

menyalin ( v_data. mulai ( ) , v_data. akhir ( ) , ostream_iterator < rangkaian > ( cout , ' \N ' ) ) ;

}

Keluaran:

Kita dapat melihat bahwa “v_data” menampung lima elemen yang berasal dari file.

Kesimpulan

Dalam artikel panjang ini, kami mengeksplorasi semua kemungkinan contoh yang digunakan dalam aplikasi real-time terkait vektor dalam bahasa pemrograman C++. Setiap contoh dijelaskan dengan sintaks, parameter, dan contoh dengan output. Komentar ditambahkan di setiap kode untuk mendapatkan pemahaman yang jelas tentang kode tersebut.