... liệu Giải thuật 403 Chương 18 – Ứngdụngdanhsáchliênkết bảng băm 18.4.1 Phiên thứ cho lớp Life Trong phiên thứ này, chưa sử dụng lớp CTDL có sẵn nào, mà suy nghó đơn giản đối tượng Life cần mảng ... Việc duyệt danhsách để xác nhận có mặt phần tử hay không không hiệu phương pháp băm biết Đối với ô có Giáo trình Cấu trúc liệu Giải thuật 407 Chương 18 – Ứngdụngdanhsáchliênkết bảng băm ... trỏ liênkếtdanhsáchliênkết Tuy nhiên, thân bảng băm nối kết có kích thước nhỏ mà chứa số ghi lớn gấp nhiều lần kích thước Với bảng băm Giáo trình Cấu trúc liệu Giải thuật 408 Chương 18 – Ứng...
... liệu Giải thuật 403 Chương 18 – Ứngdụngdanhsáchliênkết bảng băm 18.4.1 Phiên thứ cho lớp Life Trong phiên thứ này, chưa sử dụng lớp CTDL có sẵn nào, mà suy nghó đơn giản đối tượng Life cần mảng ... Việc duyệt danhsách để xác nhận có mặt phần tử hay không không hiệu phương pháp băm biết Đối với ô có Giáo trình Cấu trúc liệu Giải thuật 407 Chương 18 – Ứngdụngdanhsáchliênkết bảng băm ... trỏ liênkếtdanhsáchliênkết Tuy nhiên, thân bảng băm nối kết có kích thước nhỏ mà chứa số ghi lớn gấp nhiều lần kích thước Với bảng băm Giáo trình Cấu trúc liệu Giải thuật 408 Chương 18 – Ứng...
... = top; top = top->next; delete Otop; } } Thêm phần tử kiểu T vào stack Mục đích: Thêm phần tử T vào stack S Sử dụng: S.push(T); Đầu vào: stack S giá trị có kiểu T Đầu ra: stack S thêm phần tử ... vi sử dụng hết Sử dung: chương trình tự gọi template Stack::~Stack(){ makeEmpty(); } Kiểm tra Stack rỗng? Mục đích: Kiểm tra stack S có rỗng không Sử dụng: S.isEmpty(); Đầu vào: stack ... top->info; } Làm rỗng từ stack có Mục đích: Làm rỗng stack S để tối ưu nhớ cần thiết Sử dụng: S.makeEmpty(); Đầu vào: stack S Đầu ra: stack S rỗng Code: template void Stack::makeEmpty(){...
... PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã đề tài: 02 Tên đề tài Xây dựng lớp LinkList để lưu trữ danhsáchliênkếtđơn chứa liệu số nguyên Lớp LinkList có phương thức: khởi tạo, thêm, bớt phần tử, xếp,...
... 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đơnsinhviên typedef struct sinhvien { char ht[25]; int namsinh; ... Danhsáchliênkếtđơn Lý sử dụng ds liênkết Thêm vàodanhsáchliên tục(mảng) z a b c d e f g h count=9 count=8 insert(3, ‘z’) ... 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...
... 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 ... Quản lý sinhviêndanhsá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 ... sáchliênkếtđơn 2.6.2 Tạo danhsáchsinhviên 2.6.3 Hiển thị danhsáchsinhviên Nguyễn Ngọc Quang 35 Đề tài: Quản lý sinhviêndanhsáchliênkếtđơn 2.6.4 Tìm kiếm sinhviên theo mã sinh viên...
... Bài 3: cho danhsáchsinhviênsinhviên gồm thông tin: MSSV, họ tên, đ 1: Nhập danhsáchsinhviên 2: Xuất danhsáchsinhviên 3: Xoá sinhviê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 ... tăng dần theo điểm trung bình 5: Liệt kê sinhviên có điểm trung bình >= 6: Đếm số lượng sinhviên nam 7: Cập nhật điểm trung bình SV thông qua MSSV file sinhvien.h Code: #ifndef DSSV #define...
... giải Thêm phần tử có khóa x vàodanhsá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 ... To DSLK Đơn CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trú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ử ứngliền sau danhsách Mỗi phần tử danhsáchliênkếtđơn cấu ... Thêm vào đầu List đơn Thêm vào cuối List Thêm vào sau phần tử q list Thuật toán thêm phần tử vào đầu DSLK Click To Edit Master Title Style Thêm nút p vào đầu danhsáchliênkếtđơn Bắt...
... *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 cần xóa - Kết quả: DSLK đơn l sau xóa p - Giải thuật: *Trường hợp 1: Nếu p trỏ đầu xóa đầu *Trường hợp 2: Nếu p trỏ cuối xóa cuối Ngược lại: B1: pTruoc trỏ ứng trướ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 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...
... giải Thêm phần tử có khóa x vàodanhsá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 ... To DSLK Đơn CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Cấu trú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ử ứngliền sau danhsách Mỗi phần tử danhsáchliênkếtđơn cấu ... Thêm vào đầu List đơn Thêm vào cuối List Thêm vào sau phần tử q list Thuật toán thêm phần tử vào đầu DSLK Click To Edit Master Title Style Thêm nút p vào đầu danhsáchliênkếtđơn Bắt...
... - Đầ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 ... Đầu 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 ... Đầ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ỏ vào...
... Đầ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ả 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 ... - Đầ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 ... trước - Đầ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...
... - Đầ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 ... - Đầ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 ... - Đầ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 pMaxChan...
... Đầ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 ... Đầu vào: 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 ... - Đầ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...
... sách – Thêm vào đầu danhsách – Thêm vào cuối danhsách – Thêm vào sau phần tử Cấu trú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ổ chức DSLK đơn x0 x1 x2 Mỗi phần tử liênkết với phần tử ứngliền sau danhsách • Cấu trúc liệu thuật giải x3 Mỗi phần tử danhsáchliênkếtđơn cấu trúc có hai thành phần ... khoá x Duy ệt danhsách Sắp xếp danhsáchliênkếtđơn Tìm phần tử DSLK đơn T ìm (hàm trả về), bước thuật toán tìm nút có Info x list đơn Bước 1: p=pHead;// địa phần tử đầu list đơn Bước 2:...
... vào sau trước) Việc thêm phần tử vào stack có tên gọi đẩy (Push) vào stack, việc huỷ phần tử khỏi stack gọi lấy (Pop) khỏi stack Stack dùngdanhsáchliênkết hoàn toàn giống danhsáchliênkết ... xếp vào cuối hàng Do queue có tên gọi FIFO (first in first out – vào trước trước) Queue dùngdanhsáchliênkết hoàn toàn giống danhsáchliênkết thuận , có điều khác thêm phần tử ta luôn nối vào ... firstNIL DO BEGIN last:= first; first:= first^.next; dispose(last) END; END Danhsáchliênkết kép Danhsáchliênkết kép danhsách mà phần tử gồm ba thành phần: phần liệu, trỏ next chứa địa phần tử...
... - - Đầ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 ... - - Đầu vào: DSLK đơn l Kết quả: Trả số lượng phần tử 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 thúc B3: d=d+1 B4: p trỏ đến phần ... Đầu 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: p trỏ vào đầu danh sách...