1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc dữ liệu và giải thuật | Danh sách liên kết đơn - Nguyễn Lê Đăng Khoa

97 42 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Danh Sách Liên Kết Đơn
Tác giả Nguyễn Lê Đăng Khoa
Trường học Trường Đại Học
Chuyên ngành Cấu Trúc Dữ Liệu
Thể loại Bài Tập
Định dạng
Số trang 97
Dung lượng 884,49 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Môn: Cấu trúc dữ liệu và giải thuật Người soạn: Nguyễn Lê Đăng Khoa Nội dung: Danh sách liên kết đơn (thêm, xóa, tìm kiếm, sắp xếp)

Trang 1

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

DANH SÁCH LIÊN KẾT ĐƠN Người soạn: Nguyễn Lê Đăng Khoa

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

1

Trang 2

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

Trang 3

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

data next

Hình dung DSLK đơn như đoàn

tàu hỏa gồm các toa tàu được

nối với nhau bằng những móc

khóa

Từ đó Node gồm có 2 phần:

+ Data phần chứa dữ liệu (có thể

là số nguyên hoặc thông tin của

1 user)

+ Phần next là một con trỏ lưu

địa chỉ của Node kế tiếp

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

3

Trang 4

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Trang 5

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Node* taoNode(int x) {

Node* newNode = new Node;

Trang 6

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Node* taoNode(int x) {

Node* newNode = new Node;

Trang 7

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Node* taoNode(int x) {

Node* newNode = new Node;

Trang 8

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Node* taoNode(int x) {

Node* newNode = new Node;

Trang 9

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

// ĐỊNH NGHĨA CẤU TRÚC NODE

Node* taoNode(int x) {

Node* newNode = new Node;

Trang 10

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

Trang 11

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

2 Định nghĩa và xây dựng DSLK

// ĐỊNH NGHĨA VÀ KHỞI TẠO DANH SÁCH CHỨA NODE

struct list

{

Node* head = NULL;

Node* Tail = NULL;

Trang 12

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

Trang 13

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 14

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 15

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 16

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 17

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 18

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 19

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Trang 20

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào đầu danh sách

void themDau(list& sl, Node* x) {

Tail

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

20

Trang 21

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 22

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 23

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 24

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 25

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 26

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 27

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 28

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 29

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Thêm Node vào cuối danh sách

void themCuoi(list& sl, Node* x) {

Trang 30

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 31

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 32

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

32

Trang 33

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

33

Trang 34

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

34

Trang 35

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

35

Trang 36

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

36

Trang 37

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

37

Trang 38

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 39

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 40

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 41

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 42

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 43

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

3 Các thao tác thêm

// Thêm giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void themGiua(list &sl, Node *x, int k){

Trang 44

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

1 Định nghĩa và khởi tạo node

Trang 45

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 46

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 47

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 48

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 49

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 50

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 51

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 52

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 53

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node đầu

void xoaDau(list &sl){

if(ktDsRong(sl)) return;

Node *tmp = sl.head;

sl.head = sl.head->next;

if(sl.head == NULL) sl.Tail = NULL;

Trang 54

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 55

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 56

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 57

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

57

Trang 58

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

58

Trang 59

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

tmp www.fb.com/nguyenledangkhoa.2005 YTB: NGUYEN LE DANG KHOA - FB:

59

Trang 60

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 61

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

tmp www.fb.com/nguyenledangkhoa.2005 YTB: NGUYEN LE DANG KHOA - FB:

61

Trang 62

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

tmp www.fb.com/nguyenledangkhoa.2005 YTB: NGUYEN LE DANG KHOA - FB:

62

Trang 63

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 64

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

tmp www.fb.com/nguyenledangkhoa.2005 YTB: NGUYEN LE DANG KHOA - FB:

64

Trang 65

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

tmp www.fb.com/nguyenledangkhoa.2005 YTB: NGUYEN LE DANG KHOA - FB:

65

Trang 66

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 67

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trang 68

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

bool ktDsRong(list sl) {

return sl.head == NULL ? true : false;

}

//Xóa Node cuối

void xoaCuoi(list &sl){

Trường hợp 2: Danh đã có Node

YTB: NGUYEN LE DANG KHOA - FB: www.fb.com/nguyenledangkhoa.2005

68

Trang 69

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 70

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 71

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 72

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 73

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 74

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 75

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Trang 76

NGUYỄN LÊ ĐĂNG KHOA DANH SÁCH LIÊN KẾT ĐƠN

4 Các thao tác xóa

// Xóa giữa (với K hợp lệ ko thuộc vị trí

cuối hoặc đầu)

void xoaGiua(list &sl, int k){

Ngày đăng: 26/02/2025, 21:39

HÌNH ẢNH LIÊN QUAN

Hình dung DSLK đơn như đoàn - Cấu trúc dữ liệu và giải thuật | Danh sách liên kết đơn - Nguyễn Lê Đăng Khoa
Hình dung DSLK đơn như đoàn (Trang 3)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w