Perbezaan Antara Vektor dan Senarai Perbezaan Antara

Anonim

Vektor vs Senarai

Selalunya membingungkan kepada pengaturcara, vektor dan senarai adalah urutan yang digunakan dalam pegangan pelbagai di C ++ dan Java. Kedua-dua istilah ini memegang pelbagai alamat tetapi dengan kaedah yang berbeza untuk memegang array.

Perkara asas yang perlu kita ketahui ialah array adalah "senarai" yang memegang beberapa atau semua data, i. e., bilangan bulat, mata terapung, atau aksara dan didefinisikan dalam kurungan "[]. "

Sebenarnya, vektor dan senarai bertindak mengikut keadaan. Oleh itu mari kita lihat dua istilah ini satu demi satu.

Vektor

Vektor digunakan dalam pemilihan pelbagai dan elemen mengakses. Di sini anda boleh mengakses mana-mana elemen secara rawak menggunakan pengendali "[]". Maka menjadi mudah untuk melihat semua unsur atau satu elemen khusus dengan operasi vektor. Oleh itu, jika anda memasukkan sebarang objek pada akhirnya, pada mulanya, atau di tengah, maka vektor mempunyai titik ditambah kerana anda boleh mengakses alamat rawak dan membuat perubahan di sana. Walau bagaimanapun, vektor agak lambat berbanding dengan objek penyenaraian. Vektor dianggap sebagai objek disegerakkan, cekap dalam akses rawak, dan mereka memegang data dengan betul dengan senarai yang disegerakkan. Satu vektor dipilih apabila tidak perlu memasukkan atau memadam di tengah (senarai)

atau dari bahagian hadapan.

Bilangan elemen dalam array mungkin berubah secara dramatik.

Contoh:

vektor V;

V. masukkan (V. begin (), 3);

menegaskan (V. Saiz () == 1 && V. kapasiti ()> = 1 && V [0] == 3);

Senarai

Senarai adalah "urutan pautan berganda" yang menyokong kedua-dua traversal ke hadapan dan ke belakang. Masa yang diambil dalam penyisipan dan penghapusan pada permulaan, akhir, dan di tengah adalah malar. Pemasukan dan penyambungan antara senarai yang dipautkan tidak membatalkan sebarang lelaran dalam unsur-unsur. Penyingkiran hanya membatalkan lelaran. Mereka tidak disegerakkan supaya mereka tidak boleh diakses secara rawak. Pesanan lelaran mungkin berubah mengikut pengguna, tetapi ia tidak menjejaskan apa-apa perubahan dalam elemen. Mereka lebih cepat daripada vektor dan sesuai untuk pemasukan dan penghapusan pada awal, tengah, dan akhir senarai unsur.

Contoh:

#include

// senarai definisi template kelas

….

int main ()

{

int array [4] = {2, 6, 4, 8};

std:: nilai senarai;

std:: list otherValues;

Ringkasan:

1. Senarai tidak disegerakkan sementara vektor adalah.

2. Senarai tidak mempunyai saiz lalai manakala vektor mempunyai saiz lalai sebanyak 10.

3. Senarai dan vektor adalah kedua-dua array secara dinamik berkembang.

4. Senarai tidak benang selamat manakala vektor adalah benang yang selamat.

5. Senarai, kerana ia hanya digunakan untuk tambahan dan penghapusan di bahagian depan dan belakang, lebih cepat manakala

vektor mengambil lebih banyak CPU.

6. Satu vektor tumbuh dengan saiznya dua kali manakala satu senarai berkurangan kepada separuh, i.e., 50 peratus.