Perbedaan antara vektor dan daftar

Perbedaan antara vektor dan daftar

Vektor vs daftar

Sering membingungkan bagi pemrogram, vektor dan daftar adalah urutan yang digunakan dalam kepemilikan array di C ++ dan Java. Dua istilah memegang alamat array tetapi dengan metode yang berbeda untuk menahan array.
Hal dasar yang perlu kita ketahui adalah bahwa array adalah "daftar" yang menyimpan beberapa atau semua data, saya.e., bilangan bulat, titik mengambang, atau karakter dan didefinisikan dalam tanda kurung “[]."
Sebenarnya, vektor dan daftar bertindak sesuai dengan contoh. Jadi mari kita lihat dua istilah ini satu per satu.

Vektor
Vektor digunakan dalam pengenalan array dan elemen yang mengakses. Di sini Anda dapat mengakses elemen apa pun secara acak menggunakan operator "[]". Jadi menjadi mudah untuk melihat semua elemen atau satu elemen spesifik dengan operasi vektor. Jadi jika Anda memasukkan objek apa pun di akhir, di awal, atau di tengah, maka vektor memiliki titik plus karena Anda dapat mengakses alamat acak dan membuat perubahan di sana. Namun, vektor agak lambat dibandingkan dengan objek daftar. Vektor dianggap sebagai objek yang disinkronkan, efisien dalam akses acak, dan mereka memegang data dengan benar dengan daftar yang disinkronkan. Vektor dipetik setiap kali tidak perlu memasukkan atau menghapus di
tengah (daftar) atau dari depan.
Jumlah elemen dalam array dapat bervariasi secara dramatis.
Contoh:
Vektor V;
V.masukkan (v.begin (), 3);
menegaskan (v.size () == 1 && v.kapasitas ()> = 1 && v [0] == 3);

Daftar
Daftar adalah "Urutan Tertaut Ganda" yang mendukung traversal maju dan mundur. Waktu yang dibutuhkan dalam penyisipan dan penghapusan di awal, akhir, dan di tengah adalah konstan. Penyisipan dan penyambungan antara daftar yang ditautkan tidak membatalkan iterasi apa pun dalam elemen. Hanya penghapusan membangkitkan iterasi. Mereka tidak disinkronkan sehingga tidak dapat diakses secara acak. Pemesanan iterasi dapat berubah sesuai dengan pengguna, tetapi itu tidak mempengaruhi perubahan dalam elemen. Mereka lebih cepat dari vektor dan ideal untuk penyisipan dan penghapusan di awal, tengah, dan akhir daftar elemen.

Contoh:
#termasuk
// Daftar definisi kelas-clate
.. .
int main ()

int array [4] = 2, 6, 4, 8;
nilai std :: daftar;
std :: daftar nilai lain;

Ringkasan:
1. Daftar tidak disinkronkan saat vektor.
2. Daftar tidak memiliki ukuran default sementara vektor memiliki ukuran default 10.
3. Daftar dan vektor keduanya menumbuhkan array secara dinamis.
4. Daftar tidak aman utas sedangkan vektor aman utas.
5. Daftar, karena mereka hanya berlaku untuk penambahan dan penghapusan di depan dan belakang, lebih cepat sementara
Vektor mengambil lebih banyak CPU.
6. Vektor tumbuh dengan ukurannya dua kali sementara daftar berkurang menjadi setengah, saya.e., 50 persen.