... loại.
Tùy c ch liênkết giữa cc phần tử, danhsáchliênkết gồm c nhiều loại kh c
nhau:
- Danhsáchliênkết đơn: mỗi phần tử liênkết với phần tử đứng sau nó trong danh
sách.
- Danhsáchliênkết ... phần tử liênkết với cc phần tử đứng trư c và
sau nó trong danh sách.
- Danhsáchliênkết vòng: phần tử cuối danhsáchliênkết với phần tử đầu danh
sách.
1.3. Danhsáchliênkết đơn.
1.3.1. ... một c ch tuần tự. Khi
làm vi c trên danhsáchliênkếtđơnc ng tương tự như vậy nên ta c n chú ý những
điểm sau:
- Danhsách luôn c con trỏ đầu danh sách: con trỏ L
- Danhsách luôn c giá...
...
ngtuananh_vn@yahoo
.com
8
Ví dụ tạo danhsáchliênkếtđơncc
số nguyên
typedef struct Node {
int infor;
Node * next;
};
Node *L;
ngtuananh_vn@yahoo
.com
2
Danh sáchliênkết đơn
ngtuananh_vn@yahoo
.com
35
3. ... )
1
3
10
L
M ≡ L
Bư c 1.
Bư c 2.
Xóa M
ngtuananh_vn@yahoo
.com
1
Chương 5
KHOA CNTT, BM: TIN H C TR C ĐỊA,
Nguyễn Tuấn Anh, ngtuananh_vn@yahoo.com
ĐẠI H C MỎ - ĐỊA CHẤT
DANH SÁCHLIÊN KẾT
Single Linked ... tạo danhsáchliênkếtđơncc
sinh viên
typedef struct sinhvien {
char ht[25];
int namsinh;
Node * next;
};
Sinhvien *L;
ngtuananh_vn@yahoo
.com
39
2. Phép thêm một phần tử vào cuối...
... C u Tr c Dữ Liệu BàiTập Chương 2 – Phần 1
2
10. Viết chương trình tạo hai DSLK đơn là
L1
và
L2
với cc phần tử nguyên dương.
Sau đó, in kết quả c a phép giao, hội và hiệu c a hai danh ... danhsách này. Lưu ý rằng
hai danhsách ban đầu không bị thay đổi.
11. Giả sử chúng ta muốn thao t c trên đa th c có dạng
Trong đó,
e
1
>
e
2
>
>
e
n
≥
0
. Đa th c trên c ... thể đư c biểu diễn bởi danh
sách liênkết với mỗi phần tử gồm ba trường: Hệ số
c
i
, số mũ
e
i
, và một con trỏ
để trỏ đến phần tử kế tiếp. Viết chương trình để c ng và nhân hai đa th c.
...
... tử ra khỏi danh sách
Hủy toàn bộ danh sách
…
49
Chương 6: Danhsáchliên kết
DSLK đơn
C c thao t c cơ bản
Tạo danhsách rỗng
Thêm một phần tử vào danh sách
Duyệt danh sách
Tìm kiếm
Xóa ... trong danhsách để xử lý, chẳng hạn xử lý:
Xuất cc phần tử trong danh sách
Đếm cc phần tử trong danh sách
Tính tổng cc phần tử trong danh sách
Tìm tất ccc phần tử danhsách thoả ...
quả
4
Chương 6: Danhsáchliên kết
DSLK đơn – Cc thao t c cơ sở
Duyệt danh sách
Bư c 1: p = pHead; //Cho p trỏ đến phần tử đầu danh sách
Bư c 2: Trong khi (chưa hết danh sách) th c hiện:
B2.1...
... tr c dữ liệu tuyến tính.
•
Dễ dàng thêm ho c xóa cc phần tử trong danhsách mà không c n phải c p phát ho c tổ ch c lại trật
tự c a mảng.
•
C p phát bộ nhớ động
Như c điểm:
•
Một danhsáchliên ... phải duyệt tất ccc phần tử.
Phân loại:
•
Danh sách tuyến tính (Linear list):
•
Danh sách vòng (circular list):
•
Danh sáchliênkết đôi (Double list):
C u tr c:
Data: Thành phần chứa một hay ... Danhsáchliênkết (Linked List)
1.Khái niệm: Danhsáchliênkết (linked list) là một c u tr c dữ liệu bao gồm một nhóm cc nút (nodes) tao
thành một chuỗi. Thông thường...
...
- C u tr cdanh sá ch liê n kế t là c u tr c động, cc nút đ ư c cấ p phá t hoặ c
bị giả i phóng khi chương trì nh đang chạ y.
- Danh sá ch liê n kế t rấ t thí ch hợp khi th c hiệ n cc ... niệm:
C u tr cdanh sá ch liê n kế t là c u tr c động, việ c cấ p phá t nút và giả i
phóng nút trê n danh sá ch xả y ra khi chương trì nh đang chạy. Ta thường c p phá t
nút cho danh sá ch liê ... một danh sá ch
liê n kế t chứa cc phầ n tử c số thứ tự chẵ n trong danh sá ch liê n kế t c .
10. - Tạ o một danh sá ch liê n kế t chứa tê n h c viê n, điể m trung bì nh, hạ ng c a
h c viê...
... phần row và col c a nó.
Như vậy, chúng ta c thể lưu cc con trỏ chỉ đến cc ô như là cc bản ghi trong
bảng băm; cc toạ độ row và col c a cc ô, đư c x c định bởi con trỏ, sẽ là cc
khóa tương ... ta c n cung c p constructor và destructor cho lớp Life c a chúng ta để
định vị và giải phóng cc thành phần c p phát động c a nó. Constructor c n th c
hiện toán tử new cho cc thu c tính con ... nối kết, kích thư c của
mỗi bản ghi sẽ tăng 100% do phải chứa thêm cc con trỏ liênkết trong ccdanh
sách liên kết. Tuy nhiên, bản thân bảng băm nối kết sẽ c kích thư c rất nhỏ mà
vẫn c ...
...
- C u tr cdanh sá ch liê n kế t là c u tr c động, cc nút đ ư c cấ p phá t hoặ c
bị giả i phóng khi chương trì nh đang chạ y.
- Danh sá ch liê n kế t rấ t thí ch hợp khi th c hiệ n cc ... 2 danh sá ch liê n kế t nà y lạ i sao cho danh sá ch liê n kế t
sau khi trộn c ng c thứ tự tă ng dầ n.
Kỹ thuật lập trì nh
97
CHƯƠNG 5 CC THUậT TOáN TRÊN C U TR CDANHSáCHLIÊNKếT ... niệm:
C u tr cdanh sá ch liê n kế t là c u tr c động, việ c cấ p phá t nút và giả i
phóng nút trê n danh sá ch xả y ra khi chương trì nh đang chạy. Ta thường c p phá t
nút cho danh sá ch liê...
... Cc cách tổ ch cdanh sách
C hai c ch chính để tổ ch cdanhsách tùy thu c vào c ch tổ ch c trình tự
tuyến tính cc phần tử c a danhsách theo kiểu ngầm hay tường minh.
Ta c thể tổ ch c ... dời chỗ cc dãy con c a danh sách. Bù lại, vi c truy
xuất tr c tiếp cc phần tử c a mảng trên vùng nhớ liên t c sẽ nhanh.
Để kh c ph ccc hạn chế trên, ta c thể tổ ch cdanhsách tuyến ... Tuy
C u tr cdanhsáchliênkết III.28
vi c chuyển đổi giữa cc dạng kí pháp kh c nhau c ng như đánh giá cc biểu
th c chứa cc tốn tử khơng q hai ngơi như biểu th c số h c, lơ-gic, …
Sau...
...
- C u tr cdanh sá ch liê n kế t là c u tr c động, cc nút đ ư c cấ p phá t hoặ c
bị giả i phóng khi chương trì nh đang chạ y.
- Danh sá ch liê n kế t rấ t thí ch hợp khi th c hiệ n cc ... C U TR CDANHSáCHLIÊNKếT (LINKED LIST)
I. Khái niệm:
C u tr cdanh sá ch liê n kế t là c u tr c động, việ c cấ p phá t nút và giả i
phóng nút trê n danh sá ch xả y ra khi chương trì ...
II. Cc phép toán trên danhsáchliên kết
:
II.1. Tạo danh sách
:
a. Khởi tạ o danh sá ch
(Initialize): dùng để khởi động một danh sá ch liê n
kế t, cho chương trì nh hiể u là hiệ n tạ i danh...