Mảng và cách lưu trữ mảng

Câu này em hiểu là: thêm phần tử vào mảng sẽ tốn kém vì nó phải tạo 1 ô trống mới rồi, rồi còn phải dịch chuyển các phần tử trước.
Tại sao lại vậy??? Theo em học kiến trúc máy tính thì mảng sẽ lưu trữ ở các ô liền kề nhau, vậy dịch chuyển chỗ nào???

Như thế này nè:
Ví dụ bạn có mảng : | 1 | 2 | 3 | 4 | 5 | 6 | - |
Giờ bạn muốn chèn 0 vào giữa, tức là | 1 | 2 | 3 | 0 | 4 | 5 | 6 | thì bạn phải làm 2 việc:

    1. Dịch tất cả các phẩn từ từ 4 qua phải 1 ô. Tức là mất 3 lần dịch chuyển.
    1. Thêm 0 vào vị trí 4 cũ.

Bây giờ hãy hít thở thật sâu, và tưởng tượng mảng có 1 tỷ phần tử… :crazy_face:

5 Likes

cảm ơn bro, mình ko nghĩ kĩ mà đã đi hỏi rồi :sweat_smile: :sweat_smile:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?