Perbezaan antara vektor dan senarai
- 4582
- 698
- Brandon Haag
Senarai vektor vs
Selalunya mengelirukan kepada pengaturcara, vektor dan senarai adalah urutan yang digunakan dalam pegangan array di C ++ dan Java. Kedua -dua istilah memegang alamat array tetapi dengan kaedah yang berbeza memegang tatasusunan.
Perkara asas yang perlu kita ketahui ialah array adalah "senarai" yang memegang beberapa atau semua data, i.e., Integer, mata terapung, atau aksara dan ditakrifkan dalam kurungan "[]."
Sebenarnya, vektor dan senarai bertindak mengikut keadaan. Oleh itu, mari kita lihat dua istilah ini satu demi satu.
Vektor
Vektor digunakan dalam pegangan array dan unsur -unsur yang mengakses. Di sini anda boleh mengakses mana -mana elemen secara rawak menggunakan pengendali "[]". Oleh itu, menjadi mudah untuk melihat semua elemen atau satu elemen tertentu dengan operasi vektor. Oleh itu, jika anda memasukkan sebarang objek pada akhirnya, pada mulanya, atau di tengah, maka vektor mempunyai titik tambah kerana anda boleh mengakses alamat rawak dan membuat perubahan di sana. Walau bagaimanapun, vektor agak perlahan berbanding dengan objek senarai. Vektor dianggap sebagai objek yang disegerakkan, cekap dalam akses rawak, dan mereka betul memegang data dengan senarai disegerakkan. Vektor dipilih apabila tidak perlu memasukkan atau memadam di
tengah (senarai) atau dari depan.
Bilangan elemen dalam array mungkin berbeza secara dramatik.
Contoh:
vektor V;
V.masukkan (v.bermula (), 3);
menegaskan (v.saiz () == 1 && v.kapasiti ()> = 1 && v [0] == 3);
Senarai
Senarai adalah "urutan dikaitkan ganda" yang menyokong kedua -dua traversal ke hadapan dan ke belakang. Masa yang diambil dalam penyisipan dan penghapusan pada awal, akhir, dan di tengah adalah malar. Penyisipan dan splicing antara senarai yang dipautkan tidak membatalkan sebarang lelaran dalam unsur -unsur. Hanya penyingkiran membatalkan lelaran. Mereka tidak disegerakkan sehingga mereka tidak dapat diakses secara rawak. Pesanan lelaran mungkin berubah mengikut pengguna, tetapi ia tidak menjejaskan sebarang perubahan dalam unsur -unsur. Mereka lebih cepat daripada vektor dan sesuai untuk dimasukkan dan penghapusan pada awal, tengah, dan akhir senarai elemen.
Contoh:
#include
// Senarai definisi kelas template
… .
int utama ()
int array [4] = 2, 6, 4, 8;
STD :: Nilai Senarai;
STD :: Senarai Lain -lain nilai;
Ringkasan:
1. Senarai tidak disegerakkan semasa vektor.
2. Senarai tidak mempunyai saiz lalai manakala vektor mempunyai saiz lalai 10.
3. Senarai dan vektor kedua -dua tatasusunan dinamik.
4. Senarai bukan benang selamat sedangkan vektor adalah benang selamat.
5. Senarai, kerana ia hanya memohon untuk penambahan dan penghapusan di bahagian depan dan belakang, lebih cepat sementara
vektor mengambil lebih banyak CPU.
6. Vektor tumbuh dengan saiznya dua kali sementara senarai berkurangan hingga separuh, i.e., 50 peratus.