Lecture 12 – Linked Lists
12.1. Khái niệm về danh sách
12.2. Các phép toán trên danh sách
12.3. Cài đặt danh sách sử dụng mảng
12.4. Danh sách liên kết đơn
12.5. Danh sách liên kết dạng vòng
12.6. Danh sách liên kết kép
12.7. Ứng dụng của danh sách liên kết
12.8. Bài tập thực hành
Lecture 12 – Linked Lists
12.1. Khái niệm về danh sách
12.2. Các phép toán trên danh sách
12.3. Cài đặt danh sách sử dụng mảng
12.4. Danh sách liên kết đơn
12.5. Danh sách liên kết dạng vòng
12.6. Danh sách liên kết kép
12.7. Ứng dụng của danh sách liên kết
12.8. Bài tập thực hành
!
"#$%&#"'(!)#*+!,
+-#*"#$!()./!0#1
12.1. Khái niệm về danh sách(list)
Ngăn xếp
ậ
Lecture 12 – Linked Lists
12.1. Khái niệm về danh sách
12.2. Các phép toán trên danh sách
12.3. Cài đặt danh sách sử dụng mảng
12.4. Danh sách liên kết đơn
12.5. Danh sách liên kết dạng vòng
12.6. Danh sách liên kết kép
12.7. Ứng dụng của danh sách liên kết
12.8. Bài tập thực hành
12.2. Các phép toán trên danh sách
Các phép toán cơ bản trên danh sách:
#E+F#=##@%E>6A%%G+H+AI
EEEJ+F#=##@>6)K%G+H+4&+AI
"EL/F#=#>6+5!M"N#I
12.2. Các phép toán trên danh sách
Các hàm bổ trợ:
#L/F#=#>6"#$++5!I
E+F#=#%E>60G%G#!%E0@A+!#I
Một số thao tác cần cài đặt khi làm việc với danh sách:
%##E+F#=W#!EF#f###@LEE/E%E>I
%#EEEJ+F#=W#!EF#f###@>I
%#"EL/F#=W#!EF#f#>I
##L/F#=W#!EF#f#>I
##JF#=W#!EF#f#>I
12.3. Cài đặt danh sách sử dụng mảng
Khởi tạo danh sách: "EL/F#=W#!EF#f#>6
g#.0.!#+G!#"'!a:TUVWXYLh7bI
Kiểm tra danh sách rỗng: #L/F#=W#!EF#f#>6
g#.0.!#+G!#"'!a:TUVWXYLh7bI
12.3. Cài đặt danh sách sử dụng mảng
Thêm một phần tử vào cuối ds:
#E+F#=f#m7%>I
71 [#$+'!0//"!I
81 (!2#.0.I
j1 k!#+G&#%&I
12.3. Cài đặt danh sách sử dụng mảng
Thêm một phần tử vào vị trí p trên ds:
#E+F#=f#%>I
71 [#$+'!0//"!I
81 [#$+n*%G+H04&#%I
j1 iG/$+!"'!ah7b%DHB#'!7&I
l1 (!2#.0.I
o1 k!#+G&#%&I
12.3. Cài đặt danh sách sử dụng mảng
Xóa phần tử ở vị trí cho trước:
EEEJ+F#=f#>I
71 [#$+'!+5!/"!I
81 [#$+n*%G+H)I
j1 iG/$+!"'!ab%D0'!7&I
l1 k#'2#.0.I
12.3. Cài đặt danh sách sử dụng mảng
12.3. Cài đặt danh sách sử dụng mảng
Đánh giá về phương pháp cài đặt: i^!'!044+q/#A@.
+!2&A^!'!0$c'dB440#$6
Ưu điểm:
T0^!2&B#4/*0B#I
r#*+/)0.!%3!!csB'!I
12.7. Ứng dụng của danh sách liên kết
12.8. Bài tập thực hành
12.4. Danh sách liên kết đơn
Danh sách liên kết đơn +-#*2!C-5#-2!C6
i#*4+I
F#A".0.-@.E1
Link
Data
Node
!"#
60
7:::
800 45
{::
90 55
|:
0
NULL
Khái niệm: i#A".0,+-
#*2!C-5#-2
!C6
;•FF1
[#2+!}6
/EE_#i/EIZZ"#$#* !+!
/EE_+;E`
i/E IZZ i ! 0$ y #* "#$
i/E
;EfE)I ZZ}+v&#&;E".
@.
eI
12.4. Danh sách liên kết đơn
$%
12.4. Danh sách liên kết đơn
Các thao tác cơ bản khi làm việc với danh sách động:
[N#I
#E+UJ#+=f#%>6AE%0I
#E+U~=f#%>6}€E%I
#E+UF=f#%>6AE%B#I
EEEUJ#+=f#>6VEK0I