ความแตกต่างระหว่าง Vector และ List ความแตกต่างระหว่าง

Anonim

เวกเตอร์หรือรายการ

มักสับสนกับโปรแกรมเมอร์เวกเตอร์และรายการเป็นลำดับที่ใช้ในอาร์เรย์ holdings ใน C + + และ Java คำศัพท์ทั้งสองคำมีที่อยู่อาเรย์ แต่มีวิธีการจับอาร์เรย์ที่ต่างกัน

สิ่งพื้นฐานที่เราต้องรู้ก็คือ array คือ "list" ซึ่งเก็บข้อมูลทั้งหมดหรือบางส่วน i. อี, จำนวนเต็ม, จุดลอยหรือตัวอักษรและถูกกำหนดไว้ในวงเล็บ "[] "

ในความเป็นจริงเวกเตอร์และรายการจะทำงานตามอินสแตนซ์ ลองมาดูคำสองคำนี้ทีละคำ

พาหะ

เวกเตอร์ถูกใช้ในการยึดอาร์เรย์และการเข้าถึงองค์ประกอบต่างๆ ที่นี่คุณสามารถเข้าถึงองค์ประกอบใดก็ได้โดยใช้ตัวดำเนินการ "[]" ดังนั้นจึงกลายเป็นเรื่องง่ายที่จะมองผ่านองค์ประกอบทั้งหมดหรือองค์ประกอบหนึ่งที่เฉพาะเจาะจงที่มีการดำเนินการเวกเตอร์ ดังนั้นหากคุณแทรกวัตถุใด ๆ ในตอนท้ายในตอนต้นหรือตรงกลางพาหะจะมีจุดบวกเพราะคุณสามารถเข้าถึงที่อยู่แบบสุ่มและทำการเปลี่ยนแปลงที่นั่นได้ อย่างไรก็ตามพาหะจะช้ากว่าเมื่อเทียบกับวัตถุในรายการ พร็อพเพอร์ตี้ถือเป็นวัตถุแบบซิงโครนัสมีประสิทธิภาพในการเข้าถึงแบบสุ่มและเก็บข้อมูลด้วยรายชื่อที่ซิงค์อย่างถูกต้อง เวกเตอร์จะถูกเลือกเมื่อใดก็ตามที่ไม่จำเป็นต้องแทรกหรือลบใน

กลาง (รายการ) หรือจากด้านหน้า

จำนวนขององค์ประกอบในอาร์เรย์อาจแตกต่างกันอย่างมาก

ตัวอย่าง:

vector V;

V แทรก (V เริ่มต้น (), 3);

ยืนยัน (ขนาด V () == 1 && ความจุ V. ()> = 1 && V [0] == 3);

รายการ

รายการคือ "ลำดับการเชื่อมโยงแบบคู่" ซึ่งสนับสนุนทั้ง traversal ไปข้างหน้าและย้อนกลับ เวลาในการแทรกและการลบในตอนต้นสิ้นสุดและตรงกลางเป็นค่าคงที่ การแทรกและการ splicing ระหว่างรายการที่เชื่อมโยงจะไม่ทำให้การย้ำในองค์ประกอบใด ๆ การลบเพียงอย่างเดียวจะทำให้การทำซ้ำซ้ำ พวกเขาจะไม่ซิงโครไนซ์เพื่อไม่ให้เข้าถึงแบบสุ่ม การสั่งการซ้ำอาจเปลี่ยนไปตามผู้ใช้ แต่จะไม่ส่งผลต่อการเปลี่ยนแปลงองค์ประกอบใด ๆ พวกเขาจะเร็วกว่าพาหะและเหมาะสำหรับการแทรกและการลบในการเริ่มต้นกลางและปลายของรายการองค์ประกอบ

ตัวอย่าง:

#include

// list class-template definition

….

int main ()

{

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

มาตรฐาน:: ค่ารายการ

std:: list otherValues;

สรุป:

1. รายการจะไม่ซิงโครไนซ์ขณะที่เวกเตอร์อยู่

2 รายการไม่มีขนาดดีฟอลต์ในขณะที่เวกเตอร์มีขนาดเริ่มต้นเท่ากับ 10

3 รายการและเวกเตอร์มีอาร์เรย์แบบไดนามิกที่เติบโตขึ้น

4 รายการไม่ด้ายปลอดภัยในขณะที่เวกเตอร์เป็นหัวข้อที่ปลอดภัย

5 รายการตามที่ใช้เฉพาะกับการเพิ่มและการลบในด้านหน้าและด้านหลังจะเร็วขึ้นในขณะที่เวกเตอร์

ใช้ CPU มากขึ้น

6 เวกเตอร์เติบโตขึ้นตามขนาดของมันสองครั้งในขณะที่รายการลดลงเหลือครึ่งหนึ่ง, i.อี ร้อยละ 50