... }; II Các phép toá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 danh sá ch liê n kế t, cho chương trì nh hiể u hiệ n tạ i danh sá ch liê n kế ... x danh sá ch liê n kế t First Viế t hà m Copy_List trê n danh sá ch liê n kế t để tạ o danh sá ch liê n kế t giống danh sá ch liê n kế t cũ Ghép danh sá ch liê n kế t có địa đầ u First2 o danh ... (Y/N) ? " g Sắ p xế p lạ i danh sá ch theo thứ tự m số giả m dầ n h.Ghi n danh sá ch o file tê n 'DSSV.DAT' i Nạ p danh sá ch từ file 'DSSV.DAT' o danh sá ch liê n kế t Nế u danh sá ch liê n kế t...
... }; II Các phép toá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 danh sá ch liê n kế t, cho chương trì nh hiể u hiệ n tạ i danh sá ch liê n kế ... x danh sá ch liê n kế t First Viế t hà m Copy_List trê n danh sá ch liê n kế t để tạ o danh sá ch liê n kế t giống danh sá ch liê n kế t cũ Ghép danh sá ch liê n kế t có địa đầ u First2 o danh ... (Y/N) ? " g Sắ p xế p lạ i danh sá ch theo thứ tự m số giả m dầ n h.Ghi n danh sá ch o file tê n 'DSSV.DAT' i Nạ p danh sá ch từ file 'DSSV.DAT' o danh sá ch liê n kế t Nế u danh sá ch liê n kế t...
... tế như: danhsáchliênkết động, cấutrúc cây, đồ thị, … Cấutrúcdanhsáchliênkết III.7 III.2 Danhsáchliênkết (DSLK) III.2.1 Định nghĩa danhsách Cho kiểu liệu T Kiểu liệu danhsách TL ... danhsách cài đặt theo kiểu liênkết bị chậm Cấu trúcdanhsáchliênkết III.8 Sau đây, ta chủ yếu tập trung khảo sát kiểu danhsáchliênkết động cài đặt trỏ: DSLK đơn (có khơng có nút câm), ... tính - OL gồm tốn tử: tạo danh sách, duyệt danh sách, tìm đối tượng (thỏa tính chất đó) danh sách, chèn đối tượng vào danh sách, hủy đối tượng khỏi danh sách, xếp danhsách theo quan hệ thứ tự...
... CHƯƠNG CáC THUậT TOáN TRÊN CấUTRúCDANHSáCHLIÊNKếT (LINKED LIST) I Khái niệm: Cấ u trúcdanh sá ch liê n kế t cấ u trúc động, việ c cấ p phá t nút giả i phóng nút trê n danh sá ch xả y chương ... }; II Các phép toá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 danh sá ch liê n kế t, cho chương trì nh hiể u hiệ n tạ i danh sá ch liê n kế ... x danh sá ch liê n kế t First Viế t hà m Copy_List trê n danh sá ch liê n kế t để tạ o danh sá ch liê n kế t giống danh sá ch liê n kế t cũ Ghép danh sá ch liê n kế t có địa đầ u First2 o danh...
... DSLKMaster Đơn To Edit CẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu thuật giải x0 x1 x2 Title Style x3 Mỗi phần tử liênkết với phần tử đứng liền sau danhsách Mỗi phần tử danhsáchliênkếtđơncấu ... sách Duyệt danhsách Sắp xếp danhsáchliênkếtđơn Khởi tạo danh sáchMaster liênkết Click To Edit Title Style Địa nút đầu tiên, địa nút cuối CẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu ... điểm trung bình Hãy khai báocấutrúc liệu dạng danhsáchliênkết để lưu danhsách sinh viên nói Nhập danhsách sinh viên, thêm sinh viên vào đầu danhsách (việc nhập kết thúc tên sinh viên rỗng)...
... vào danhsách Hủy phần tử danhsách Duyệt danhsách Sắp xếp danhsáchliênkếtđơn Khởi tạo danhEdit Master Click To sáchliênkết Title Style Địa nút đầu tiên, địa nút cuối CẤUTRÚC ... DSLK ĐơnCẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu thuật giải x0 x1 x2 Title Style x3 Mỗi phần tử liênkết với phần tử đứng liền sau danhsách Mỗi phần tử danhsáchliênkếtđơncấutrúc ... phần liên kết: Lưu địa phần tử đứng sau danhsách NULL phần tử cuối danhsách Click CTDL DSLK đơn To Edit Master Title Style CẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu thuật giải Cấu trúc...
... Node ^next; End; Khai báo trỏ L Node * L; Ví dụ tạo danhsáchliênkếtđơn số nguyên typedef struct Node { int infor; Node * next; }; Node *L; Ví dụ tạo danhsáchliênkếtđơn sinh viên typedef ... DSLK đơn TẠO DANHSÁCH RỖNG THÊM MỘT PHẦN TỬ VÀO CUỐI DANHSÁCH THÊM MỘT PHẦN TỬ SAU MỘT PHẦN TỬ KHÁC XÓA MỘT PHẦN TỬ RA KHỎI DANHSÁCH GHÉP NỐI DSLK ĐƠN THÀNH MỘT DSLK ĐƠN 12 TẠO DANHSÁCH RỖNG ... Danhsáchliênkếtđơn Lý sử dụng ds liênkết Thêm vào danhsáchliên tục(mảng) z a b c d e f g h count=9 count=8 insert(3, ‘z’)...
... sau danhsách - Danhsáchliênkết đôi/kép: phần tử liênkết với phần tử đứng trước sau danhsách - Danhsáchliênkết vòng: phần tử cuối danhsáchliênkết với phần tử đầu danhsách 1.3 Danhsách ... sinh viên danhsáchliênkếtđơn CHƯƠNG 1: CƠ SỞ LÝTHUYẾT Tổng quan danhsáchliênkết 1.1 Định nghĩa Danhsáchliênkếtdanhsách mà phần tử ( Node) liênkết với nhờ vào vùng liênkết chúng ... xử lý phần liênkết dùng để liênkết tới node khác 1.2 Phân loại Tùy cách liênkết phần tử, danhsáchliênkết gồm có nhiều loại khác nhau: - Danhsáchliênkết đơn: phần tử liênkết với phần...
... Bài 3: cho danhsách sinh viên sinh viên gồm thông tin: MSSV, họ tên, đ 1: Nhập danhsách sinh viên 2: Xuất danhsách sinh viên 3: Xoá sinh viên với MSSV khỏi danhsách 4: Sắp xếp danhsách tăng ... p=p->pNext; } Init(l); } Bài 2: cho danhsáchliênkết l1 l2, gồm phần tử số nguyên, thực 1: xếp l1 l2 tắng dần 2: nối l1 l2 thành l3 cho l3 tăng dần file noidanhsachtang.h Code: #ifndef NOIDS ... if(l2.pHead==NULL) { cout
... vào danhsách Hủy phần tử danhsách Duyệt danhsách Sắp xếp danhsáchliênkếtđơn Khởi tạo danhEdit Master Click To sáchliênkết Title Style Địa nút đầu tiên, địa nút cuối CẤUTRÚC ... DSLK ĐơnCẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu thuật giải x0 x1 x2 Title Style x3 Mỗi phần tử liênkết với phần tử đứng liền sau danhsách Mỗi phần tử danhsáchliênkếtđơncấutrúc ... phần liên kết: Lưu địa phần tử đứng sau danhsách NULL phần tử cuối danhsách Click CTDL DSLK đơn To Edit Master Title Style CẤUTRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấutrúc liệu thuật giải Cấu trúc...
... *Trường hợp 1: Nếu l rỗng kết thúc *Trường hợp 2: Nếu danhsách có phần tử xóa đầu Ngược lại: B1: pTruoc trỏ đứng trước trỏ cuối danhsách B2: Cho pTruoc trỏ tới NULL B3: Xóa trỏ ... - Đầu vào: DSLK đơn l, node p để xác định node cần xóa - Kết quả: DSLK đơn l sau xóa trước phần tử p - Giải thuật: *Trường hợp 1: Nếu p trỏ đầu kết thúc *Trường hợp 2: (p khác ... - Đầu vào: DSLK đơn l, node p để xác định node cần xóa - Kết quả: DSLK đơn l sau xóa phần tử sau p - Giải thuật: *Trường hợp 1: Nếu p trỏ cuối kết thúc *Trường hợp 2: (p khác...
... makeEmpty(); top = NULL; *this = r; } return *this; } Chú ý: Để sử dụng stack ST lưu trữ kiểu T khai báo theo cú pháp Stack ST; lớp có thuộc tính trỏ muốn sử dụng template cần định nghĩa chồng...
... vào: DSLK đơn l, phần tử p cần thêm - Kết quả: DSLK đơn l sau thêm - Giải thuật: *Trường hợp 1: Nếu l rỗng Con trỏ đầu cuối danhsách = p *Trường hợp 2: (l khác rỗng) B1: Con trỏ cuối danhsách trỏ ... - Đầu vào: DSLK đơn l, phần tử k cần thêm phần tử p - Kết quả: DSLK đơn l sau thêm k sau p - Giải thuật: *Trường hợp 1: Nếu p trỏ cuối danhsách Thêm k vào cuối danhsách l *Trường hợp 2: ... - Đầu vào: DSLK đơn l - Kết quả: DSLK đơn l sau xóa phần tử đầu - Giải thuật: *Trường hợp 1: Nếu l rỗng kết thúc *Trường hợp 2: (l khác rỗng) B1: pXoa trỏ đầu danhsách B2: Cho trỏ đầu trỏ...
... DSLK đơn l, điều kiện bên (nếu có: ví dụ giá trị x để so sánh) - Kết quả: Trả số lượng phần tử thỏa điều kiện danhsách - Giải thuật: B1: d=0 p trỏ vào đầu danhsách B2: Nếu p = NULL trả d Kết ... Đầu vào: DSLK đơn l, điều kiện bên (nếu có: ví dụ giá trị x để so sánh) - Kết quả: Trả thỏa điều kiện, ngược lại trả - Giải thuật: B1: p trỏ vào đầu danhsách B2: Nếu p = NULL trả Kết thúc B3: ... Nếu giá trị p thỏa điều kiện Trả Kết thúc B4: p trỏ đến phần tử kế tiếp, quay lại B2 - Cài đặt (Giả sử kiểm tra xem danhsách có tồn phần tử có giá trị lẻ danhsách số nguyên): int KiemTraTonTaiLe(LIST...
... - Đầu vào: DSLK đơn l - Kết quả: In giá trị phần tử danhsách hình - Giải thuật: B1: p trỏ đầu danhsách B2: Nếu p = NULL kết thúc Ngược lại In giá trị p B3: p trỏ đến ... - Đầu vào: DSLK đơn l - Kết quả: In giá trị phần tử danhsách thỏa điều kiện hình - Giải thuật: B1: p trỏ vào đầu danhsách B2: Nếu p = NULL kết thúc B3: Nếu giá trị p thỏa điều ... - Đầu vào: DSLK đơn l - Kết quả: Trả trỏ chứa giá trị chẵn lớn (hoặc NULL: Nếu chẵn) - Giải thuật: B1: pMaxChan phần tử chẵn danhsách Nếu chẵn trả NULL Kết thúc B2: p trỏ vào sau...
... DSLK đơn l, giá trị x - Kết quả: Trả trỏ tìm (hoặc NULL: Nếu x) - Giải thuật: B1: p trỏ vào đầu danhsách B2: Nếu p = NULL trả NULL Kết thúc Ngược lại sang B3 B3: Nếu giá trị p = x trả p Kết thúc ... Đầu vào: DSLK đơn l - Kết quả: Trả trỏ max tìm - Giải thuật: B1: pMax trỏ vào đầu danhsách p trỏ vào sau pMax B2: Nếu p = NULL trả pMax Kết thúc Trang GV: Trần Minh Thái ... - Đầu vào: DSLK đơn l - Kết quả: Trả trỏ chứa giá trị chẵn tìm (hoặc NULL: Nếu chẵn) - Giải thuật: B1: p trỏ vào đầu danhsách B2: Nếu p = NULL trả NULL Kết thúc Ngược lại sang B3...
... Tổ chức DSLK đơn x0 x1 x2 Mỗi phần tử liênkết với phần tử đứng liền sau danhsách • Cấutrúc liệu thuật giải x3 Mỗi phần tử danhsáchliênkếtđơncấutrúc có hai thành phần – ... thông tin thân phần tử – Thành phần liên kết: Lưu địa phần tử đứng sau danhsách NULL phần tử cuối danhsách CTDL DSLK đơn Cấutrúc liệu nút List đơnCấutrúc liệu thuật giải typedef struct ... đầu danhsách – Thêm vào cuối danhsách – Thêm vào sau phần tử Cấutrúc liệu thuật giải • Hủy phần tử danhsách – Hủy phần tử đầu danhsách – Hủy phần tử cuối danhsách – Hủy phần tử sau phần tử...