1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tài liệu Xây dựng chức năng tìm kiếm và sắp xếp trên mảng cấu trúc

60 1 0

Đ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 đề Đồ Án Xây Dựng Chức Năng Tìm Kiếm Và Sắp Xếp Trên Mảng Cấu Trúc Và Danh Sách Liên Kết Theo Chủ Đề Được Chọn
Tác giả Nguyễn Khánh Vân
Người hướng dẫn ThS. Nguyễn Quốc Thanh
Trường học Trường Đại Học Tài Chính – Marketing
Chuyên ngành Hệ Thống Thông Tin
Thể loại đồ án
Năm xuất bản 2022
Thành phố TP.HCM
Định dạng
Số trang 60
Dung lượng 897,45 KB

Nội dung

lOMoARcPSD|16911414 tai lieu, luan van1 of 98 BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH MARKETING KHOA CƠNG NGHỆ THƠNG TIN ĐỒ ÁN XÂY DỰNG CHỨC NĂNG TÌM KIẾM VÀ SẮP XẾP TRÊN MẢNG CẤU TRÚC VÀ DANH SÁCH LIÊN KẾT THEO CHỦ ĐỀ ĐƯỢC CHỌN Giảng viên hướng dẫn: Thầy Nguyễn Quốc Thanh Sinh viên thực hiện: 2121012043_Nguyễn Khánh Vân Mã lớp học phần: 2121112001208 TP.HCM, ngày: tháng: năm 2022 document, khoa luan1 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van2 of 98 TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING KHOA CƠNG NGHỆ THÔNG TIN NGUYỄN KHÁNH VÂN ĐỒ ÁN XÂY DỰNG CHỨC NĂNG TÌM KIẾM VÀ SẮP XẾP TRÊN MẢNG CẤU TRÚC VÀ DANH SÁCH LIÊN KẾT THEO CHỦ ĐỀ ĐƯỢC CHỌN CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN QUẢN LÝ NGƯỜI HƯỚNG DẪN: THS.NGUYỄN QUỐC THANH TP.HCM, ngày: tháng: năm:2022 document, khoa luan2 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van3 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân MỤC LỤC Table of Contents DANH MỤC BẢNG DANH MỤC HÌNH ẢNH .4 CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu đềề 1.2 Cấấu trúc 1.3 Dữ liệu mấẫu (>=10 thông tn đôấi tượng cấền xử lý) 1.4 Các chức ( liệt kề chức sẽẫ xấy dựng) CHƯƠNG 2.1 Nhập danh sách khách hàng Chương trình Kếết chạy 11 2.1.1 2.1.2 2.2 Xuấất danh sách khách hàng 11 Chương trình 11 Kếết chạy 12 2.2.1 2.2.2 2.3 Tìm thơng tn khách hàng thẽo mã khách hàng ( dùng Linẽar Sẽarch Binary Sẽarch) 13 Chương trình 13 Kếết chạy 14 Kếết chạy 16 2.3.1 2.3.2 2.3.3 2.4 Săấp xềấp danh sách khách hàng thẽo mã khách hàng: 16 Kếết chưa sắếp xếếp: 16 Chương trình 16 Kết chạy dùng Shaker Sort 18 Kếết chạy dùng Selecton Sort 19 Kếết chạy dùng Interchange Sort 21 Kếết chạy dùng Bubble Sort 22 Kếết chạy dùng Inserton Sort 23 Kếết chạy dùng Quick Sort 25 Kếết chạy dùng Merge Sort .28 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5 Để kiểm tra chương trình ta dùng hàm: 28 CHƯƠNG 3.1 3.1.1 3.2 document, khoa luan3 of 98 TÌM KIẾẾM VÀ SẮẾP XẾẾP TRẾN MẢNG CẤẾU TRÚC TÌM KIẾẾM VÀ SẮẾP XẾẾP TRẾN DANH SÁCH LIẾN KẾẾT 35 Định nghĩa phần tử danh sách 35 Chương trình 35 Định nghĩa danh sách 35 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van4 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân 3.2.1 3.3 Chương trình 35 Khởi tạo danh sách .35 3.3.1 3.4 Chương trình 35 Tạo phần tử danh sách 36 3.4.1 3.5 Chương trình 36 Nhập danh sách khách hàng .36 3.5.1 3.5.2 3.6 Chương trình 36 kết chạy 37 Xuất danh sách khách hàng 38 3.6.1 3.6.2 3.7 Chương trình 38 Kết chạy 39 Đếm số khách hàng có danh sách 39 3.7.1 3.7.2 3.8 Chương trình 39 Kết chạy 40 Tìm kiếm thơng tin khách hàng có danh sách 40 3.8.1 3.8.2 3.9 Chương trình 40 kết chạy 41 xếp danh sách khách hàng theo mã khách hàng 41 3.9.1 3.9.2 3.9.3 chương trình 41 Danh sách chưa xếp: 42 Kết chạy dùng Selection Sort 43 3.9.4 Kết chạy dùng Interchange Sort 45 3.9.5 Kết chạy dùng Bubble Sort 47 3.9.6 Kết chạy dùng Insertion Sort 49 3.9.7 3.10 Kết chạy dùng Quick Sort .51 Kiểm tra chương trình 51 3.10.1 3.10.2 CHƯƠNG Để kiểm tra chương trình ta sử dụng hàm: .51 kết chạy 55 KẾT LUẬN 56 4.1 Các chức làm 56 4.2 Các chức chưa làm 56 CHƯƠNG document, khoa luan4 of 98 TÀI LIỆU THAM KHẢO 58 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van5 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân DANH MỤC BẢNG Bảng 1.1 bảng thông tin khách hàng document, khoa luan5 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van6 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân DANH MỤC HÌNH ẢNH Hình 2.1: Hình ảnh kết chạy chương trình nhập danh sách khách hàng 11 Hình 2.2: Hình ảnh kết chạy chương trình xuất danh sách khách hàng 12 Hình 2.3: Hình ảnh kết chạy chương trình linear search theo mã khách hàng 14 Hình 2.4: hình ảnh kết chạy chương trình binary search theo mã khách hàng 16 Hình 2.5: Hình ảnh danh sách khách hàng chưa xếp 16 Hình 2.6: Hình ảnh danh sách khách hàng sau xếp ( dùng shaker sort ) theo mã khách hàng .18 Hình 2.7: Hình ảnh danh sách khách hàng sau xếp ( dùng Selection Sort ) theo mã khách hàng 19 Hình 2.8: Hình ảnh danh sách khách hàng sau xếp ( dùng Interchange Sort ) theo mã khách hàng 21 Hình 2.9: Hình ảnh danh sách khách hàng sau xếp ( dùng Bubble Sort ) theo mã khách hàng 22 Hình 2.10: Hình ảnh danh sách khách hàng sau xếp ( dùng Insertion Sort ) theo mã khách hàng 23 Hình 2.11: Hình ảnh danh sách khách hàng sau xếp ( dùng QuickSort Sort ) theo mã khách hàng 25 Hình 2.12: Hình ảnh danh sách khách hàng sau xếp ( dùng Merge Sort ) theo mã khách hàng 28 Hình 2.13: Hình ảnh kết chạy liệt kê chức chương trình kiểm tra 34 Hình 3.1: Hình ảnh kết chạy hàm nhập danh sách khách hàng 38 Hình 3.2: HÌnh ảnh kết chạy xuất danh sách khách hàng 39 Hình 3.3: Hình ảnh kết chạy đếm số khách hàng có danh sách 40 Hình 3.4: hình ảnh kết chạy chức tìm kiếm khách hàng theo mã khách hàng 41 Hình 3.5: Hình ảnh danh sách khách hàng chưa xếp 42 Hình 3.6: Hình ảnh danh sách khách hàng sau xếp ( dùng selection sort ) 43 Hình 3.7: Hình ảnh danh sách khách hàng sau xếp (dùng Interchange sort ) 45 Hình 3.8: Hình ảnh danh sách khách hàng sau xếp ( dùng Bubble sort ) 47 Hình 3.9: Hình ảnh danh sách khách hàng sau xếp(dùng Insertion sort ) 49 Hình 3.10: Hình ảnh danh sách khách hàng sau xếp ( dùng quick sort ) .51 Hình 3.11: Hình ảnh kết chạy liệt kê chức chương trình kiểm tra 55 document, khoa luan6 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van7 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân document, khoa luan7 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van8 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu đề Xây dựng chức tìm kiếm xếp cấu trúc danh sách liên kết hỗ trợ quản lý thông tin khách hàng thân thiết bao gồm: Mã khách hàng(MaKH), Họ (Ho), Tên (Ten), Năm (Nam), Điểm tích luỹ có (Diem), Doanh số mua hàng (Doanhso) 1.2 Cấu trúc Thông tin khách hàng cần quản lý gồm: MaKH: Mã khách hàng, gồm chuỗi ký tự số có chiều dài ký tự Ho: Họ tên chữ lót, định quản lý tên tiếng Việt với chiều dài chữ khoảng ký tự Ten: Tên, gồm chữ Việt với chiều dài tối đa khoảng ký tự Nam: Năm, gồm chuỗi ký tự số có chiều dài ký tự Diem: Điểm tích luỹ có, ghi nhận điểm tích luỹ khách hàng Doanhso: Doanh số mua hàng, ghi nhận doanh số mua hàng khách hàng Tính theo đơn vị Việt Nam đồng( ngàn đồng ) Cấu trúc liệu hỗ trợ quản lý thông tin khách hàng: MaKH: chuỗi gồm ký tự số Ho: chuỗi tối đa 30 ký tự Ten: Chuỗi tối đa ký tự Nam: chuỗi gồm ký tự số Diem: số nguyên không âm (Diem>=0) Doanhso: số thực dương ( ngàn đồng ) Định nghĩa cấu trúc khách hàng: document, khoa luan8 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van9 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân struct KhachHang { char MaKH[5]; char Ho[30]; char Ten[8]; char Nam[5]; int Diem; float Doanhso; }kh; 1.3 Dữ liệu mẫu (>=10 thông tin đối tượng cần xử lý) Bảng 1.1 bảng thông tin khách hàng STT MaKH Họ đệm Tên Năm Điểm Doanh số 2101 Le Tran Thuy 2019 15 8000(đ) 2104 Nguyen Binh An 2018 17 15000(đ) 2205 Tran Thi Chau 2021 14 6000(đ) 1999 Cao Thanh Than 2022 16 11000(đ) h 2108 Nguyễn Quỳnh Như 2021 19 12500(đ) 2213 Lâm thị Hà 2017 17 13450(đ) 2097 Đoàn Như Trúc 2018 18 20000(đ) 1978 Vũ Khánh Linh 2019 20 17000(đ) 2053 Hồ Hoàng Mai 2022 14 13000(đ) 10 2212 Nguyễn Văn Sơn 2017 16 15672(đ) document, khoa luan9 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van10 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân 1.4 Các chức ( liệt kê chức xây dựng) Các chức mảng cấu trúc  Nhập danh sách khách hàng  Xuất danh sách khách hàng  Tìm thơng tin khách hàng theo mã khách hàng ( dùng Linear Search Binary Search)  Sắp xếp danh sách theo mã khách hàng ( dùng Shaker Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Selection Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Interchange Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Bubble Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Insertion Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Quick Sort )  Sắp xếp danh sách theo mã khách hàng ( dùng Merge Sort ) Các chức mảng dslk  Nhập danh sách khách hàng  Xuất danh sách khách hàng  Đếm số khách hàng có danh sách  Tìm thơng tin khách hàng  Sắp xếp thơng tin khách hàng ( dùng Selection Sort )  Sắp xếp thông tin khách hàng ( dùng Quick Sort ) document, khoa luan10 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van46 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân Sắp xếp danh sách theo mã khách hàng ( dùng Interchange Sort ): // ctc sap xep danh sach theo ma khach hang dung interchangesort void InterchangeSortList(danhsachkh *khlist) { khnodetype* p, *q; //con trỏ p duyệt qua DSLK //Con trỏ q phối hợp tìm nghịch p p = khlist->head; while (p != khlist->tail) { q = p->next; while (q != NULL) { //gặp nghịch p q hốn vị if (strcmp(q->infor->MaKH, p->infor->MaKH) < 0) swap(q->infor, p->infor); q = q->next; } p = p->next; } } document, khoa luan46 of 98 44 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van47 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân 3.9.4 Kết quả chạy dùng Interchange Sort Hình 3.20: Hình ảnh danh sách khách hàng sau xếp (dùng Interchange sort ) Sắp xếp danh sách theo mã khách hàng ( dùng Bubble Sort ): // ctc sap xep danh sach theo ma khach hang dung bubblesort void BubbleSortList(danhsachkh* khlist) { khnodetype* p1, *p2, *q1, *q2; p1 = khlist->head; p2 = khlist->tail; while (p1 != p2) { document, khoa luan47 of 98 45 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van48 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân q1 = p1; q2 = q1->next; while (q2 != NULL) { if (strcmp(q1->infor->MaKH , q2->infor->MaKH)>0) swap(q1->infor, q2->infor); if (q2 != p2) { q1 = q1->next; q2 = q2->next; } else q2 = NULL; } p2 = q1; } } document, khoa luan48 of 98 46 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van49 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân 3.9.5 Kết quả chạy dùng Bubble Sort Hình 3.21: Hình ảnh danh sách khách hàng sau xếp ( dùng Bubble sort ) Sắp xếp danh sách theo mã khách hàng ( dùng Insertion Sort ): Để xếp danh sách khách hàng, cần xây dựng chương trình gồm:   void InsertSortkh(danhsachkh* khlist, khnodetype* n) void InsertionSortList(danhsachkh* khlist) void InsertSortkh(danhsachkh* khlist, khnodetype* n) { khnodetype* p; p = khlist->head; //ktra danh sách rỗng phải chèn đầu document, khoa luan49 of 98 47 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van50 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân if (p == NULL || strcmp((p->infor->MaKH) , (n->infor->MaKH))>0) addfirst(khlist, n); else { //dị vị trí chèn while (p->next != NULL && strcmp(p->next->infor->MaKH , n->infor>MaKH)next; //chèn n->next = p->next; p->next = n; } } // ctc sap xep danh sach theo ma khach hang dung insertionsort void InsertionSortList(danhsachkh* khlist) { danhsachkh* c; c = new danhsachkh; init_list(c); khnodetype * p, *q; p = khlist->head; document, khoa luan50 of 98 48 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van51 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân while (p != NULL) { //Tro q giu phan DSLK sau truoc diaw phan tu dau vao res q = p->next; p->next = NULL; InsertSortkh(c, p); p = q; } khlist->head = c->head; khlist->tail = c->tail; } 3.9.6 Kết quả chạy dùng Insertion Sort Hình 3.22: Hình ảnh danh sách khách hàng sau xếp(dùng Insertion sort ) 49 document, khoa luan51 of 98 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van52 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân Sắp xếp danh sách theo mã khách hàng ( dùng QuickSort Sort ): // ctc sap xep danh sach khach hang dung quicksort void QuickSort(danhsachkh *khlist) { khnodetype *p, *x; danhsachkh *l1, *l2; if (khlist->head!=khlist->tail) { l1 = new danhsachkh; l1->head=NULL;l1->tail=NULL; l2 = new danhsachkh; l2->head=NULL;l2->tail=NULL; x = khlist->head; khlist->head = x->next; //tach list l1 va l2 while (khlist->head != NULL) { p = khlist->head; khlist->head = p->next; p->next = NULL; if (strcmp(p->infor->MaKH, x->infor->MaKH) head!=NULL) { khlist->head = l1->head; l1->tail->next = x; } else khlist->head = x; x -> next = l2->head; if (l2 ->head != NULL) document, khoa luan52 of 98 50 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van53 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân { khlist->tail = l2->tail; } else { khlist->tail = x; } } } 3.9.7 Kết quả chạy dùng Quick Sort Hình 3.23: Hình ảnh danh sách khách hàng sau xếp ( dùng quick sort ) 3.10 Kiểm tra chương trình 3.10.1 Để kiểm tra chương trình ta sử dụng hàm:  int menu(): liệt kê chức có chương trình  int main(): chương trình dùng để kiểm tra chương trình document, khoa luan53 of 98 51 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 tai lieu, luan van54 of 98 Đồ án Cấu Trúc Dữ Liệu Giải Thuật_Nguyễn Khánh Vân int menu() { int c; cout

Ngày đăng: 28/11/2022, 21:19

HÌNH ẢNH LIÊN QUAN

Bảng 1.1 bảng thông tin khách hàng. - Tài liệu Xây dựng chức năng tìm kiếm và sắp xếp trên mảng cấu trúc
Bảng 1.1 bảng thông tin khách hàng (Trang 9)
Hình 3.15: HÌnh ảnh kết quả chạy xuất danh sách khách hàng. - Tài liệu Xây dựng chức năng tìm kiếm và sắp xếp trên mảng cấu trúc
i ̀nh 3.15: HÌnh ảnh kết quả chạy xuất danh sách khách hàng (Trang 41)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w