... *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 trỏ đầu) B1: pTruoc ... Đầ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 trỏ cuối) B1: pSau trỏ...
... 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ỏ vào p B2: Gán ... 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 khác trỏ cuối) ... - Đầ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...
... 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 thúc B3: Nếu giá trị p thỏa điều ... 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 ... 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 KHÔNG thỏa điều kiện Trả Kết thúc B4: p trỏ...
... - Đầ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 ... - Đầ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 ... Kết quả: Trả trỏ đứng trước phần tử p (hoặc NULL: Nếu không có) - Giải thuật: *Trường hợp 1: Nếu p trỏ vào đầu danhsách trả NULL *Trường hợp 2: Ngược lại trường hợp B1: pTruoc trỏ đầu danh sách...
... 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 B4: p ... 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 B3: Nếu giá trị p chẵn trả p Kết ... Đầ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 Ngượ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 ... - - Đầ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 kiện ... - - Đầ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ế...
... phần liênkết dùng để liênkết với Node khác 1.2.2 Phân loại: - Có 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ên ... sáchliênkết đơn danhsá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: Tìm hiểu Danhsáchliênkết đơn cài đặt số toánDanhsáchliên ... Danhsáchliênkết đơn cài đặt số toánDanhsáchliênkết đơn 3.2 Demo chương trình SVTH: Lê Hồng Lĩnh Lớp : T16TMT 27 Đề tài: Tìm hiểu Danhsáchliênkết đơn cài đặt số toánDanhsáchliên kết...
... XẾP THỨ TỰ TRÊNDANHSÁCHLIÊNKẾT Một danhsách có thứ tự (danh sách sắp) danhsách mà phần tử xếp theo thứ tự dựa trường khoá Ví dụ : Danhsách phần tử số có thứ tự tăng danhsách mà với ... trước Y danhsách Chú ý : danhsách có phần tử xem danhsách SẮP XẾP THỨ TỰ TRÊNDANHSÁCHLIÊNKẾTCác cách tiếp cận: Phương án (thao tác vùng Info) : Hoán vò nội dung phần tử danhsách ... Thay đổi mối liênkết SẮP XẾP THỨ TỰ TRÊNDANHSÁCHLIÊNKẾT Phương án : Cài đặt lại xâu thuật toán xếp biết mảng Điểm khác biệt cách thức truy xuất đến phần tử xâu thông qua liênkết thay số...
... NODEPTR; }; II Cácphéptoándanhsá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ê ... 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...
... NODEPTR; }; II Cácphéptoándanhsá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ê ... 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...
... NODEPTR; }; II Cácphéptoándanhsá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ê ... trì nh CHƯƠNG CáC THUậT TOáNTRÊN CấU TRúC DANHSáCHLIÊNKếT (LINKED LIST) I Khái niệm: Cấ u trúc danh 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ả ... 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...
... 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...
... Danhsáchliênkết vòng Chương 6: Danhsáchliênkết Giới thiệu Danhsáchliênkết đơn: phần tử liênkết với phần tử đứng sau danh sách: A B X Z Y Danhsáchliênkết đôi: phần tử liênkết ... trước sau danh sách: A Chương 6: Danhsáchliênkết B C D Giới thiệu 10 Danhsáchliênkết vòng : phần tử cuối danhsáchliênkết với phần tử đầu danh sách: A B A Chương 6: Danhsáchliênkết X ... sáchliên kết: Thêm phần tử Xóa phần tử Tìm kiếm … Chương 6: Danhsáchliênkết Có nhiều kiểu tổ chức liênkết phần tử danhsách như: Danhsáchliênkết đơn Danhsáchliênkết kép...
... Danhsáchliênkết đơn Danhsáchliênkết kép Danhsáchliênkết vòng Chương 6: Danhsáchliênkết Giới thiệu - Danhsáchliênkết 10 Danhsáchliênkết đơn: phần tử liênkết với phần ... sau danh sách: A B X Z Y Danhsáchliênkết kép: phần tử liênkết với phần tử đứng trước sau danh sách: A Chương 6: Danhsáchliênkết B C D Giới thiệu - Danhsáchliênkết 11 Danhsáchliên ... tác danhsáchliên kết: Thêm phần tử Xóa phần tử Tìm kiếm … Chương 6: Danhsáchliênkết Giới thiệu - Danhsáchliênkết Có nhiều kiểu tổ chức liênkết phần tử danhsách như: Danh sách...
... ký hiệu : CPM Vậy CPM = { d ; e ; f } Hỏi : Điều kiện để có phần bù ? Cácphéptoán tập hợp : Tập hợp P có đủ phần tử M N a/ Phép hợp : Tập hợp Q gồm phần tử vừa thuộc M vừa thuộc N A ∪ B = { x ... Z ⊂ Q ⊂ R Các nhóm nêu nhận xét A = B ⇔ ( A ⊂ B B ⊂ A ) Một số tập tập hợp số thực : ( SGK trang 18 ) HS: a →4 b →1 , c→ , d→ Hoạt động : GV đặt vấn đề chuyển mạch giới thiệu phéptoán tập hợp ... A B b/ Phép giao : tập hợp gồm phần tử vừa thuộc A vừa thuộc B A ∩ B = { x | x∈ A x ∈ B } Các nhóm tiến hành thảo luận sau nhóm đánh giá lẫn M ⊂ P Tập hợp cần tìm : { d ; e ; f } c/ Phép lấy...
... ->Next; } return length; } Thêm phần tử vào cuối linked list: Nếu danhsách rỗng, thêm nút vào head Ngược lại, tìm phần tử cuối danhsách thêm nút vào Next nút cuối đó: void AddLast(LLNode** head, ... tiên: Nếu danhsách khác rỗng, đưa phần tử Next lên phía trước void RemoveFirst(LLNode** head) { LLNode** tmp = head; if ((*tmp) != NULL) { (*tmp) = (*tmp)->Next; } } Tìm kiếm phần tử danh sách: ... 2 .Các phép toán: Cho cấu trúc đơn giản: struct LLintNode { int Data; struct LLintNode* Next; }; Đếm số...
... 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’) ... L infor Next … infor 11 Cácphéptoán 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 ... 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 struct sinhvien...