C++

Cara Menggunakan Vektor C++

Cara Menggunakan Vektor C++

pengantar

Array adalah serangkaian tipe objek yang sama di lokasi memori berurutan. Array tidak dapat menambah panjang bijih yang dikurangi. Vektor itu seperti array, tetapi panjangnya dapat ditambah atau dikurangi. Oleh karena itu, vektor memiliki lebih banyak operasi daripada array.

C++ memiliki banyak library, semuanya membentuk C++ Standard Library. Salah satu perpustakaan ini adalah perpustakaan kontainer. Wadah adalah kumpulan objek, dan operasi tertentu dapat dilakukan pada koleksi. Wadah C++ dapat dikelompokkan menjadi dua set: wadah urutan dan wadah asosiatif. Kontainer urutan adalah vektor, array (bukan array yang sama yang dibahas sebelumnya), deque, forward_list, dan list. Ini adalah koleksi yang berbeda (struktur data seperti array), dan masing-masing menawarkan trade-off yang berbeda.

Setiap programmer harus tahu bagaimana memutuskan apakah akan menggunakan vektor, array, deque, forward_list, atau daftar. Ketika seorang programmer membutuhkan struktur yang membutuhkan lebih banyak operasi daripada yang terkait dengan array biasa, array biasa tidak boleh digunakan.

Jika tugas melibatkan penyisipan dan penghapusan yang sering di tengah urutan, maka daftar atau forward_list harus digunakan. Jika tugas melibatkan penyisipan dan penghapusan yang sering di awal atau akhir urutan, maka deque harus digunakan. Vektor harus digunakan ketika operasi semacam ini tidak diperlukan.

Artikel ini menunjukkan cara menggunakan vektor C++. Anda memerlukan pengetahuan tentang pointer, referensi, dan array C++ untuk memahami artikel ini.

Kelas dan Objek

Kelas adalah sekumpulan variabel dan fungsi yang bekerja sama, di mana variabel tidak memiliki nilai yang ditetapkan. Ketika nilai ditugaskan ke variabel, kelas menjadi objek. Nilai berbeda yang diberikan pada kelas yang sama menghasilkan objek yang berbeda; yaitu, objek yang berbeda dapat memiliki kelas yang sama tetapi memiliki nilai yang berbeda. Membuat objek dari kelas juga dikenal sebagai instantiating objek.

Istilah vektor menggambarkan kelas. Objek yang dibuat dari vektor memiliki nama yang dipilih oleh programmer.

Fungsi yang termasuk dalam kelas diperlukan untuk membuat instance objek dari kelas. Di C++, fungsi itu memiliki nama yang sama dengan nama kelas. Objek berbeda yang dibuat (dicontohkan) dari kelas memiliki nama berbeda yang diberikan masing-masing oleh programmer.

Membuat objek dari kelas berarti membangun objek; itu juga berarti membuat instance objek.

Kelas Vektor

Kelas vektor telah ditentukan dan ada di perpustakaan. Untuk menggunakan kelas vektor, seorang programmer harus menyertakan header vektor dalam file dengan direktif preprocessing berikut:

#termasuk

Setelah header disertakan, semua fitur vektor (anggota data dan fungsi anggota) dapat diakses. Untuk menggunakan objek count untuk mengeluarkan data ke terminal (konsol), header objek juga harus disertakan. Untuk menulis program dengan vektor, minimal, header berikut harus disertakan:

#termasuk
#termasuk

Membuat Instansi Vektor

int foo [10];

Di atas adalah deklarasi array dengan nama "foo" dan jumlah elemen "10".”Ini adalah array bilangan bulat. Deklarasi vektor serupa. Untuk sebuah vektor, jumlah elemen adalah opsional, karena panjang vektor dapat bertambah atau berkurang.

Pada titik ini dalam program, kelas vektor telah didefinisikan di perpustakaan, dan header telah disertakan. Vektor dapat diinstansiasi sebagai berikut:

std::vektor vtr (8);

Di sini, vektor adalah fungsi konstruktor khusus. Jenis data yang akan disimpan oleh vektor adalah “int”, dalam kurung sudut. Istilah "vtr" adalah nama yang dipilih oleh programmer untuk vektor. Akhirnya, "8," dalam tanda kurung, adalah jumlah tentatif bilangan bulat yang akan dimiliki vektor.

Istilah "std" adalah singkatan dari namespace standar. Istilah ini harus diikuti oleh titik dua ganda, dalam konteks ini. Siapa saja dapat menulis perpustakaan kelas vektor mereka sendiri dan menggunakannya. Namun, C++ sudah memiliki pustaka standar dengan nama standar, termasuk "vektor".” Untuk menggunakan nama standar, nama standar harus diawali dengan std:: . Untuk menghindari mengetik std:: setiap kali dalam program untuk nama standar, file program dapat dimulai sebagai berikut:

#termasuk
#termasuk
menggunakan namespace std;

Membebani Fungsi

Ketika dua atau lebih tanda tangan fungsi yang berbeda memiliki nama yang sama, nama tersebut dikatakan kelebihan beban. Ketika satu fungsi dipanggil, jumlah dan jenis argumen menentukan fungsi mana yang dieksekusi.

Membangun Vektor

Membangun vektor berarti membuat instance (membuat) objek vektor vector. Fungsi konstruktor kelebihan beban sebagai berikut:

vektor nama

Ini menciptakan vektor dengan panjang nol dan ketik “T.” Pernyataan berikut membuat vektor dengan panjang nol bertipe “float” dengan nama “vtr:”

vektor vtr;

vektor nama (n)

Ini menciptakan sebuah vektor dengan n elemen tipe “T.Pernyataan untuk vektor ini dengan empat elemen float adalah sebagai berikut:

vektor vtr(4);

vektor nama (n, t)

Ini menciptakan vektor dari n elemen yang diinisialisasi ke nilai t. Pernyataan berikut membuat vektor dari 5 elemen, di mana setiap elemen memiliki nilai 3.4:

vektor vtr (5, 3.4);

Membangun dengan Inisialisasi

Sebuah vektor dapat dibangun (dibuat) dan diinisialisasi pada saat yang sama, dengan salah satu dari dua cara berikut:

vektor vtr = 1.1, 2.2, 3.3, 4.4;

Atau

vektor vtr1.1, 2.2, 3.3, 4.4;

Perhatikan bahwa tidak ada tanda kurung setelah nama objek. Tanda kurung yang digunakan tepat setelah nama objek harus memiliki daftar penginisialisasi, sebagai berikut:

vektor vtr(1.1, 2.2, 3.3, 4.4);

Sebuah vektor dapat dibangun dan diinisialisasi nanti dengan daftar penginisialisasi. Dalam hal ini, tanda kurung tidak akan digunakan:

vektor vtr;
vtr = 1.1, 2.2, 3.3, 4.4;

vektor V2 (V1)

Ini adalah konstruktor salinan. Ini menciptakan vektor V2 sebagai salinan dari vektor V1. Kode berikut menggambarkan hal ini:

vektor vtr1(5, 3.4);
vektor vtr2(vtr1);

Menetapkan Vektor selama Konstruksi

Selama konstruksi, vektor kosong dapat dibuat sementara yang lain ditugaskan padanya, sebagai berikut:

vektor vtr11.1, 2.2, 3.3, 4.4;
vektor vtr2 =vtr1;

Pernyataan kedua setara dengan:

vektor vtr2 = 1.1, 2.2, 3.3, 4.4;

vektor const

Vektor konstanta adalah vektor yang elemen-elemennya tidak dapat diubah. Nilai dalam vektor ini hanya-baca. Saat dibuat, vektor muncul sebagai berikut:

vektor konstanta vtr1.1, 2.2, 3.3, 4.4;

Dalam jenis vektor ini, tidak ada elemen yang dapat ditambahkan atau dihapus. Selain itu, tidak ada nilai yang dapat diubah.

Membangun dengan Iterator

Template menyediakan representasi umum untuk tipe data data. Iterator menyediakan representasi generik pemindaian melalui nilai-nilai wadah. Sintaks untuk membuat vektor dengan iterator adalah sebagai berikut:

templat
vector(InputIterator dulu, InputIterator terakhir,const Allocator& = Allocator());

Ini membangun vektor untuk rentang [pertama, terakhir) menggunakan pengalokasi yang ditentukan, yang akan dibahas nanti dalam artikel ini.

Menghancurkan Vektor

Untuk menghancurkan vektor, cukup biarkan vektor keluar dari ruang lingkup dan penghancuran ditangani secara otomatis.

Kapasitas Vektor

size_type capacity() const noexcept

Jumlah total elemen yang dapat ditampung oleh vektor tanpa memerlukan realokasi dikembalikan oleh fungsi anggota kapasitas. Segmen kode untuk ini adalah sebagai berikut:

vektor vtr(4);
int bilangan = vtr.kapasitas();
cout << num << '\n';

Keluarannya adalah 4.

cadangan (n)

Ruang memori tidak selalu tersedia secara bebas. Ruang ekstra dapat dipesan terlebih dahulu. Perhatikan segmen kode berikut:

vektor vtr(4);
vtr.cadangan(6);
cout << vtr.capacity() << '\n';

Keluarannya adalah 6. Jadi, ruang ekstra yang dipesan adalah 6 - 4 = 2 elemen. Fungsi mengembalikan batal.

size() const nokecuali

Ini mengembalikan jumlah elemen dalam vektor. Kode berikut mengilustrasikan fungsi ini:

vektor vtr(4);
float sz = vtr.ukuran();
cout << sz << '\n';

Keluarannya adalah 4.

menyusut agar sesuai()

Setelah memberikan kapasitas ekstra ke vektor dengan fungsi reserve(), vektor dapat diperkecil agar sesuai dengan ukuran aslinya. Kode berikut menggambarkan hal ini:

vektor vtr(4);
vtr.cadangan(6);
vtr.menyusut agar sesuai();
int sz = vtr.ukuran();
cout << sz << '\n';

Outputnya adalah 4 dan bukan 6. Fungsi mengembalikan batal.

ubah ukuran(sz), ubah ukuran(sz,c)

Ini mengubah ukuran vektor. Jika ukuran baru lebih kecil dari ukuran lama, maka elemen menjelang akhir dihapus. Jika ukuran baru lebih panjang, maka beberapa nilai default ditambahkan menjelang akhir. Untuk menambahkan nilai tertentu, gunakan fungsi resize() dengan dua argumen. Segmen kode berikut menggambarkan penggunaan kedua fungsi ini:

vektor vtr11.1, 2.2, 3.3, 4.4;
vtr1.mengubah ukuran (2);
cout << "New size of vtr1: " << vtr1.size() << '\n';
vektor vtr21.1, 2.2;
vtr2.mengubah ukuran (4, 8.8);
cout << "vtr2: "<< vtr2[0] <<" "<< vtr2[1] <<"
"<< vtr2[2] <<" "<< vtr2[3] << '\n';

Outputnya adalah sebagai berikut:

Ukuran baru vtr1: 2
vtr2: 1.1 2.2 8.8 8.8

Fungsi kembali batal.

kosong() const nokecuali

Fungsi ini mengembalikan 1 untuk true jika tidak ada elemen dalam vektor dan 0 untuk false jika vektor kosong. Jika sebuah vektor memiliki 4 lokasi untuk tipe data tertentu, seperti float, tanpa nilai float, maka vektor tersebut tidak kosong. Kode berikut menggambarkan hal ini:

vektor vtr;
cout << vtr.empty() << '\n';
vektor vt(4);
cout << vt.empty() << '\n';
vektor v(4,3.5);
cout << v.empty() << '\n';

Outputnya adalah sebagai berikut:

1
0
0

Akses Elemen Vektor

Vektor dapat di-subscript (diindeks) seperti array. Penghitungan indeks dimulai dari nol.

nama vektor[i]

Operasi “vectorName[i]” mengembalikan referensi ke elemen di iini indeks vektor. Kode berikut menampilkan 3.3 untuk vektor di atas:

vektor vtr1.1, 2.2, 3.3, 4.4;
float fl = vtr[2];
cout << fl << '\n';

nama vektor[i] const

Operasi "vectorName[i] const" dijalankan sebagai ganti "vectorName[i]" ketika vektor adalah vektor konstan. Operasi ini digunakan dalam kode berikut:

vektor konstanta vtr1.1, 2.2, 3.3, 4.4;
float fl = vtr[2];
cout << fl << '\n';

Ekspresi mengembalikan referensi konstan ke iini elemen vektor.

Menetapkan Nilai dengan Subskrip

Sebuah nilai dapat diberikan ke vektor non-konstan, sebagai berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vtr[2] = 8.8;
cout << vtr[2] << '\n';

Outputnya adalah 8.8.

nama vektor.di (i)

“nama vektor.at(i)” seperti “vectorName[i],” tetapi “vectorName.at(i)” lebih dapat diandalkan. Kode berikut menunjukkan bagaimana vektor ini harus digunakan:

vektor vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.di (2);
cout << fl << '\n';
at() adalah fungsi anggota vektor.

nama vektor.di (i) konstanta

“nama vektor.at(i) const” seperti “vectorName[i] const”, tetapi “vectorName.at(i) const” lebih dapat diandalkan. “nama vektor.at(i) const” dijalankan alih-alih “vectorName.di(i)” ketika vektor adalah vektor konstan. Vektor ini digunakan dalam kode berikut:

vektor konstanta vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.di (2);
cout << fl << '\n';
at() const adalah fungsi anggota vektor.

Menetapkan Nilai dengan Fungsi at()

Nilai dapat ditetapkan ke vektor non-konstan dengan fungsi at(), sebagai berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vtr.di (2) = 8.8;
cout << vtr[2] << '\n';

Outputnya adalah 8.8.

Masalah dengan Sub-Scripting

Masalah dengan sub-scripting (pengindeksan) adalah bahwa jika indeks di luar jangkauan, nol dapat dikembalikan atau kesalahan dapat dikeluarkan saat run-time.

depan()

Ini mengembalikan referensi ke elemen pertama dari vektor tanpa menghapus elemen. Output dari kode berikut adalah 1.1.

vektor vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.depan();
cout << fl << '\n';

Elemen tidak dihilangkan dari vektor.

depan() konstan

Ketika konstruksi vektor didahului oleh const, ekspresi "front() const" akan dieksekusi sebagai ganti "front().” Ini digunakan dalam kode berikut:

vektor konstan vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.depan();
cout << fl << '\n';

Referensi konstan dikembalikan. Elemen tidak dihilangkan dari vektor.

kembali()

Ini mengembalikan referensi ke elemen terakhir dari vektor tanpa menghapus elemen. Output dari kode berikut adalah 4.4.

vektor vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.kembali();
cout << fl << '\n';

kembali() const

Ketika konstruksi vektor didahului oleh const, ekspresi “back() const” akan dieksekusi alih-alih “back().” Ini digunakan dalam kode berikut:

vektor konstanta vtr1.1, 2.2, 3.3, 4.4;
mengambang fl = vtr.kembali();
cout << fl << '\n';

Referensi konstan dikembalikan. Elemen tidak dihilangkan dari vektor.

Akses Data Vektor

data() tidak kecuali; data() const nokecuali;

Salah satu dari ini mengembalikan pointer sedemikian rupa sehingga [data(), data() + size()) adalah rentang yang valid.

Ini akan dibahas secara lebih rinci nanti di artikel.

Mengembalikan Iterator dan Vektor

Iterator seperti pointer tetapi memiliki lebih banyak fungsi daripada pointer.

mulai() tidak kecuali

Mengembalikan iterator yang menunjuk ke elemen pertama dari vektor, seperti pada segmen kode berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vektor:: iterator iter = vtr.mulai();
cout << *iter << '\n';

Outputnya adalah 1.1. Perhatikan bahwa deklarasi yang menerima iterator telah dideklarasikan. Iterator didereferensi dalam ekspresi pengembalian untuk mendapatkan nilai dengan cara yang sama seperti penunjuk dereferensi.

mulai() const nokecuali;

Mengembalikan iterator yang menunjuk ke elemen pertama dari vektor. Ketika konstruksi vektor didahului oleh const, ekspresi "begin() const" akan dieksekusi alih-alih "begin().Dalam kondisi ini, elemen yang sesuai dalam vektor tidak dapat dimodifikasi. Ini digunakan dalam kode berikut:

vektor konstan vtr1.1, 2.2, 3.3, 4.4;
vektor::const_iterator iter = vtr.mulai();
cout << *iter << '\n';

Outputnya adalah 1.1. Perhatikan bahwa "const_iterator" telah digunakan kali ini alih-alih hanya "iterator" untuk menerima iterator yang dikembalikan.

akhir() tidak kecuali

Mengembalikan iterator yang menunjuk tepat di luar elemen terakhir dari vektor. Perhatikan segmen kode berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vektor:: iterator iter = vtr.akhir();
cout << *iter << '\n';

Outputnya adalah 0, yang tidak ada artinya, karena tidak ada elemen konkret di luar elemen terakhir.

end() const nokecuali

Mengembalikan iterator yang menunjuk tepat di luar elemen terakhir dari vektor. Ketika konstruksi vektor didahului oleh “const”, ekspresi “end() const” dijalankan sebagai ganti “end().” Perhatikan segmen kode berikut:

vektor konstan vtr1.1, 2.2, 3.3, 4.4;
vektor::const_iterator iter = vtr.akhir();
cout << *iter << '\n';

Keluarannya 0. Perhatikan bahwa "const_iterator" telah digunakan kali ini alih-alih hanya "iterator" untuk menerima iterator yang dikembalikan.

Iterasi Terbalik

Dimungkinkan untuk memiliki iterator yang berulang dari akhir hingga tepat sebelum elemen pertama.

rbegin() tidak kecuali

Mengembalikan iterator yang menunjuk ke elemen terakhir dari vektor, seperti pada segmen kode berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vektor::reverse_iterator rIter = vtr.mulai();
cout << *rIter << '\n';

Keluarannya adalah 4.4.

Perhatikan bahwa deklarasi yang menerima iterator terbalik telah dideklarasikan. Iterator didereferensi dalam ekspresi pengembalian untuk mendapatkan nilai dengan cara yang sama seperti penunjuk dereferensi.

rbegin() const noexcept;

Mengembalikan iterator yang menunjuk ke elemen terakhir dari vektor. Ketika konstruksi vektor didahului oleh “const”, ekspresi “rbegin() const” dijalankan sebagai ganti “rbegin().Dalam kondisi ini, elemen yang sesuai dalam vektor tidak dapat dimodifikasi. Fitur ini digunakan dalam kode berikut:

vektor konstan vtr1.1, 2.2, 3.3, 4.4;
vektor::const_reverse_iterator rIter = vtr.mulai();
cout << *rIter << '\n';

Keluarannya adalah 4.4.

Perhatikan bahwa const_reverse_iterator telah digunakan kali ini, bukan hanya reverse_iterator, untuk menerima iterator yang dikembalikan.

rend() tidak kecuali

Mengembalikan iterator yang menunjuk tepat sebelum elemen pertama dari vektor. Perhatikan segmen kode berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vektor::reverse_iterator rIter = vtr.membelah();
cout << *rIter << '\n';

Outputnya adalah 0, yang tidak ada artinya, karena tidak ada elemen konkret sebelum elemen pertama.

rend() const tidak kecuali

Mengembalikan iterator yang menunjuk tepat sebelum elemen pertama dari vektor. Ketika konstruksi vektor didahului oleh “const”, ekspresi “rend() const” dijalankan sebagai ganti “rend().” Perhatikan segmen kode berikut:

vektor konstanta vtr1.1, 2.2, 3.3, 4.4;
vektor::const_reverse_iterator rIter = vtr.membelah();
cout << *rIter << '\n';

Keluarannya 0.

Perhatikan bahwa const_reverse_iterator telah digunakan kali ini, bukan hanya reverse_iterator, untuk menerima iterator yang dikembalikan.

Pengubah Vektor

Pengubah yang memodifikasi vektor dapat mengambil atau mengembalikan iterator.

Sebuah.tempatkan (p, args)

Menyisipkan objek tipe T yang dibangun dengan std::forward(args)… sebelum p.

Untuk detailnya - lihat nanti

masukkan (iteratorPosition, nilai)

Menyisipkan salinan nilai pada posisi iterator dari vektor. Mengembalikan iterator (posisi) dalam vektor tempat salinan telah ditempatkan. Kode berikut menunjukkan di mana nilai telah ditempatkan:

vektor vtr10, 20, 30, 40;
vektor:: iterator iter = vtr.mulai();
++iter;
++iter;
vtr.masukkan(iter, 25);
cout << vtr[1] << " << vtr[2]<< '
' << vtr[3] << '\n';

Outputnya adalah: 20 25 30.

Perhatikan bahwa iterator itu maju (bertambah) seperti pointer.

Daftar penginisialisasi juga dapat dimasukkan, seperti yang diilustrasikan oleh kode berikut:

vektor vtr10, 20, 30, 40;
vektor:: iterator iter = vtr.mulai();
++iter;
++iter;
vtr.sisipkan(iter, 25, 28);
cout << vtr[1] << " << vtr[2]<< '
' << vtr[3]<< " << vtr[4] << '\n';

Outputnya adalah: 20 25 28 30.

hapus (posisi)

Menghapus elemen pada posisi yang ditunjuk oleh iterator, lalu mengembalikan posisi iterator. Kode berikut menggambarkan hal ini:

vektor vtr10, 20, 30, 40;
vektor:: iterator iter = vtr.mulai();
++iter;
++iter;
vtr.hapus(itu);
cout << vtr[0] << " << vtr[1] << '
' << vtr[2]<< '\n';

Outputnya adalah: 10 20 40

push_back(t), push_back(rv)

Digunakan untuk menambahkan satu elemen di akhir vektor. Gunakan push_back(t) sebagai berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vtr.push_back(5.5);
float fl = vtr[4];
cout << fl << '\n';

Outputnya adalah 5.5.

push_back(rv): - lihat nanti.

pop_back()

Menghapus elemen terakhir tanpa mengembalikannya. Ukuran vektor dikurangi 1. Kode berikut menggambarkan hal ini:

vektor vtr1.1, 2.2, 3.3, 4.4;
vtr.pop_back();
float sz = vtr.ukuran();
cout << sz << '\n';

Keluarannya adalah 3.

Sebuah.bertukar (b)

Dua vektor dapat ditukar, seperti yang diilustrasikan pada segmen kode berikut:

vektor vtr11.1, 2.2, 3.3, 4.4;
vektor vtr210, 20;
vtr1.tukar (vtr2);
cout << "vtr1: "<< vtr1[0] <<" "<< vtr1[1] <<"
"<< vtr1[2] <<" "<< vtr1[3] << '\n';
cout << "vtr2: "<< vtr2[0] <<" "<< vtr2[1] <<"
"<< vtr2[2] <<" "<< vtr2[3] << '\n';

Outputnya adalah:

vtr1: 10 20 0 0
vtr2: 1.1 2.2 3.3 4.4

Perhatikan bahwa panjang vektor bertambah, jika perlu. Juga, nilai yang tidak memiliki pengganti diganti dengan beberapa nilai default.

bersih()

Menghapus semua elemen dari vektor, seperti yang diilustrasikan oleh segmen kode berikut:

vektor vtr1.1, 2.2, 3.3, 4.4;
vtr.bersih();
cout << vtr.size() << '\n';

Keluarannya 0.

Persamaan dan Operator Relasional untuk Vektor

== Operator

Mengembalikan 1 untuk true jika dua vektor memiliki ukuran yang sama dan elemen yang bersesuaian sama; jika tidak, ia mengembalikan 0 untuk false. Sebagai contoh:

vektor U1, 2, 3;
vektor V4, 5, 6;
bool bl = U==V;
cout << bl << '\n';

Keluarannya 0.

Itu != Operator

Mengembalikan 1 untuk true jika dua vektor tidak memiliki ukuran yang sama dan/atau elemen yang bersesuaian tidak sama; jika tidak, ia mengembalikan 0 untuk false. Sebagai contoh:

vektor U1, 2, 3;
vektor V4, 5, 6;
bool bl = U!= V;
cout << bl << '\n';

Outputnya adalah 1.

Itu < Operator

Mengembalikan 1 untuk true jika vektor pertama adalah subset awal dari vektor kedua, dengan elemen dari dua bagian yang sama adalah sama dan dalam urutan yang sama. Jika kedua vektor berukuran sama dan bergerak dari kiri ke kanan dan sebuah elemen ditemui pada vektor pertama yang lebih kecil dari elemen yang bersesuaian pada vektor kedua, maka 1 masih akan dikembalikan. Jika tidak, 0 untuk false dikembalikan. Sebagai contoh:

vektor U3, 1, 1;
vektor V3, 2, 1;
bool bl = Ucout << bl << '\n';

Outputnya adalah 1. < does not include the case when the size and order are the same.

> Operator

Kembali !(U < V), where U is the first vector and V is the second vector, according to the above definitions.

Itu <= Operator

Mengembalikan U <= V, where U is the first vector and V is the second vector, according to the above definitions.

>= Operator

Kembali !(U <= V), where U is the first vector and V is the second vector, according to the above definitions.

Kesimpulan

Vektor adalah contoh wadah urutan. Vektor adalah bentuk "lebih baik" dari array biasa dan dipakai dari kelas. Vektor memiliki metode yang diklasifikasikan di bawah: konstruksi dan penugasan, kapasitas, akses elemen, akses data, iterator, pengubah, dan operator kelebihan beban numerik.

Ada wadah urutan lain, yang disebut list, forward_list, dan array. Jika tugas melibatkan penyisipan dan penghapusan yang sering di tengah urutan, maka daftar atau forward_list harus digunakan. Jika tugas melibatkan penyisipan dan penghapusan yang sering di awal atau akhir urutan, maka deque harus digunakan. Jadi, vektor harus digunakan hanya ketika operasi semacam ini tidak penting.

Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...
Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...