... sáchliênkết đơn: phần tử liênkết với phần tử đứng saudanhsách - Danhsáchliênkết đôi/kép: phần tử liênkết với phần tử đứng trước saudanhsách - Danhsáchliênkết vòng: phần tử cuối danh ... tử cuối danhsáchliênkết với phần tử đầu danhsách 1.3 Danhsáchliênkếtđơn 1.3.1 Khái niệm Danhsáchliênkếtđơn cấu trúc lưu trữ phần tử danhsách không cố định, phần tử danhsách truy cập ... 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...
... nhiều loại Danhsáchliênkết như: + Danhsáchliênkếtđơn + Danhsáchliênkết đôi/kép + Danhsách đa liênkết + Danhsáchliênkết vòng +… - Mỗi loại danhsáchliênkết có cách biểu diễn phần tử ... cập đến loại danhsáchliênkếtDanhsáchliênkếtđơn - Danhsáchliênkếtđơndanhsách mà Node có trường liênkết - Các hình mô tả danhsáchliênkếtđơn SVTH: Lê Hồng Lĩnh Lớp : T16TMT Đề tài: ... Lớp : T16TMT 27 Đề tài: Tìm hiểu Danhsáchliênkếtđơn cài đặt số toán DanhsáchliênkếtđơnKẾT LUẬN - Cáckết đạt được: + Nẵm vững lý thuyết trỏ cách vận dụng + Hiểu Danhsáchliênkếtđơn thao...
... cấu trúc có hai thànhphần Thànhphần liệu: Lưu trữ thông tin thân phần tử Thànhphầnliên kết: Lưu địa phần tử đứng saudanhsách NULL phần tử cuối danhsách của DSLKTitle đơnStyle Click ... trúc liệu thuật giải Thêm phần tử có khóa x 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 danh sáchMaster liênkết Click To Edit Title Style ... DSLKMaster Đơn To Edit 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ử đứng liềnsaudanhsách Mỗi phần tử danhsáchliênkết đơn...
... infor 11 Các phép toán DSLK đơn TẠO DANHSÁCH RỖNG THÊM MỘTPHẦN TỬ VÀO CUỐI DANHSÁCH THÊM MỘTPHẦN TỬ SAUMỘTPHẦN TỬ KHÁC XÓA MỘTPHẦN TỬ RA KHỎI DANHSÁCH GHÉP NỐI DSLK ĐƠNTHÀNHMỘT DSLK ĐƠN ... SÁCH • Ví dụ ta muốn thêm phần tử X = 10 vào cuối danhsách L Bước New (P); P->infor = X; P->Next = NIL q 10 16 DANHSÁCHSAU KHI CHÈN L 10 17 THÊM MỘTPHẦN TỬ SAUMỘTPHẦN TỬ KHÁC PROCEDURE INSERTAFTER(L,M,X) ... 10 14 THÊM MỘTPHẦN TỬ VÀO CUỐI DANHSÁCH • Ví dụ ta muốn thêm phần tử X = 10 vào cuối danhsách L Bước New (P); P->infor = X; P->Next = NIL q 10 15 THÊM MỘTPHẦN TỬ VÀO CUỐI DANHSÁCH • Ví dụ...
... } } Bài 3: chodanhsá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 ... AddHead(l2,pAdd); p=p->pNext; } Init(l); } Bài 2: chodanhsáchliênkết l1 l2, gồmphầ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 ... cin>>p->info.dtb; break; } if(p==NULL) cout
... cấu trúc có hai thànhphần Thànhphần liệu: Lưu trữ thông tin thân phần tử Thànhphầnliên kết: Lưu địa phần tử đứng saudanhsách NULL phần tử cuối danhsách Click CTDL DSLK đơn To Edit Master ... liệu thuật giải Thêm phần tử có khóa x 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 ... Duyệt danhsách thao tác thường thực có nhu cầu cần xử lý phần tử danhsách như: Đếm phần tử danhsách Tìm tất phần tử danhsách thảo điều kiện Hủy toàn danhsách Thuật toán duyệt danh sách...
... 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 trỏ cuối) B1: pSau trỏ đứng sau ... cuối) B1: pSau trỏ đứng sau p B2: Xóa pSau - Cài đặt: void XoaSaup(LIST &l, NODE *p) { if(p!=l.pTail) { NODE *pSau=p->pNext; Xoap(pSau); } } 6. 6.Hủy toàn danhsách (SV tự vẽ hình minh họa) ... *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ỏ cuối...
... cấu trúc có hai thànhphần Thànhphần liệu: Lưu trữ thông tin thân phần tử Thànhphầnliên kết: Lưu địa phần tử đứng saudanhsách NULL phần tử cuối danhsách Click CTDL DSLK đơn To Edit Master ... liệu thuật giải Thêm phần tử có khóa x 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 ... Duyệt danhsách thao tác thường thực có nhu cầu cần xử lý phần tử danhsách như: Đếm phần tử danhsách Tìm tất phần tử danhsách thảo điều kiện Hủy toàn danhsách Thuật toán duyệt danh sách...
... Stack::makeEmpty(){ while(!isEmpty()) pop(); } Lấy khỏi stack phần tử đỉnh stack Mục đích: Loại phần tử stack S Sử dụng: S.pop(); Đầu vào: stack S Đầu ra: stack S bớt phần tử đỉnh stack không rỗng Code: template ... 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ử mà giá trị T Code: ... S.isEmpty(); Đầu vào: stack S Đầu ra: trả true S phần tử nào, ngược lại false Code: template bool Stack::isEmpty() { return top == NULL; } Trả giá trị phần tử đỉnh stack Mục đích: Trả giá 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: ... 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 phần tử ... 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ỏ...
... 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 ... 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 danhsách B2: Nếu p = NULL trả Kết thúc B3: Nếu giá trị p KHÔNG 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 toàn phần tử danhsách có...
... - Đầ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 phần tử kế tiếp, quay ... - Đầ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 pMaxChan B3:...
... 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...
... chức DSLK đơn x0 x1 x2 Mỗi phần tử liênkết với phần tử đứng liềnsaudanhsá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ànhphần – Thànhphần liệu: ... đầu danhsách – Thêm vào cuối danhsách – Thêm vào sauphầ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ử sauphần ... liệu: Lưu trữ thông tin thân phần tử – Thànhphầnliên kết: Lưu địa phần tử đứng saudanhsách NULL phần tử cuối danhsách CTDL DSLK đơn Cấu trúc liệu nút List đơn Cấu trúc liệu thuật giải...
... - Đầ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: (p ... DSLK đơn l Kết quả: DSLK đơn l sau xóa phần tử cuối Giải thuậ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 danh ... - - Đầ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 tử kế tiếp, quay lại...
... BỘ MÔN KHOA HỌC MÁY TÍNH -*** - BÀITẬP LỚN HỌC 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 ... sá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, tìm kiếm phần tử.Mục đích: Mục đích - Củng cố kiến thức lập trình hướng đối tượng C++ - Tăng ... cáo, trình bày báo cáo, thuyết trình Yêu cầu: - Mỗi SV chọn 01 tập lớn (BTL) - BTL phải nộp trước 1-2 tuần cuối - Mỗi SV phải nộp BTL gồm: file tài liệu BTL (thuật toán, phân tích thiết kế chương...