Danh mục

BÁO CÁO BÀI TẬP THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

Số trang: 31      Loại file: doc      Dung lượng: 186.00 KB      Lượt xem: 18      Lượt tải: 0    
10.10.2023

Hỗ trợ phí lưu trữ khi tải xuống: 15,500 VND Tải xuống file đầy đủ (31 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài 2. Viết hàm khai báo cac chương trình con cài đặt danh sách mảng. Dùng cácchương trình con này để:- Chương trình con nhận một dãy các số nguyên nhập từ bàn phím, lưu trữ nótrong danh sách theo thứ tự nhập vào.- Chương trình con nhận một dãy các số nguyên nhập từ bàn phím, lưu trữ nótrong danh sách thứ tự ngược với thú tự nhập vào.- Viết chương trình con in ra màn hình các phần tử trong danh sách theo thứtự của nó trong danh sách....
Nội dung trích xuất từ tài liệu:
BÁO CÁO BÀI TẬP THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật. BÁO CÁO BÀI TẬP THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬTSVTH: Tống Văn Chình – Lớp 06I Trường CĐ Công Nghệ Thông Tin- ĐH ĐN. Page 1 Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.Bài 1. Viết chương trình con bằng gaiir thuật đệ qui để thực hiện các công việcsau: - Tính n! - Tính S=1+2+3+…+n - Tính s=1+3+5+…+(2k+1) với 2k+1 Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.int fibonaci(int n) { if(nb) return UCLN(a-b,b); else return UCLN(a,b-a); }float HaiMuN(int n) { if(n Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật. DS.n=0;}//them vao dau sanh sachvoid ThemDau(DanhSach &DS,int phantu) { for(int i=DS.n;i>=1;i--) DS.PhanTu[i+1]=DS.PhanTu[i]; DS.PhanTu[1]=phantu; DS.n++; }//them vao cuoi danh sachvoid ThemCuoi(DanhSach &DS,int phantu) { DS.n++; DS.PhanTu[DS.n]=phantu; }//nhap va luu tru theo thu tuvoid Nhap(DanhSach &DS) { char str[99]; cout Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.Bài 3. Tương tự bài tập 1, nhưng cài đặt bằng con trỏ.struct Node { int Info; Node *Left; Node *Right; };struct List { Node *First; Node *Last; int n; };void Create(List &L) { L.First=new Node; L.Last= new Node; L.First->Left=NULL; L.First->Right=L.Last; L.Last->Left=L.First; L.Last->Right=NULL; L.n=0; }int Emty(List &L) { return(L.First->Right==L.Last); }//hien thi danh sachvoid Display(List &L) { cout Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.void Add_LIFO(List &L,int phantu) { Node *N=new Node; N->Info=phantu; N->Left=L.First; N->Right=L.First->Right; L.First->Right->Left=N; L.First->Right=N; L.n++; }//vao truoc ra sau (them vao cuoi danh sach)void Add_FILO(List &L,int phantu) { Node *N=new Node; N->Info=phantu; N->Right=L.Last; N->Left=L.Last->Left; L.Last->Left->Right=N; L.Last->Left=N; L.n++; }//nhap va luu tru theo thu tu nhap vao hoac nguoc laivoid Add_And_Insert(List &L) { char ch=1;int sx=0; cout Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.void SapXepTang(DanhSach DS) { int tam; for(int i=1;iRight->Right!=L.Last) //chay tu Node dau tien cho den Node ke cuoi { tam1=tam1->Right; while(tam2->Right!=L.Last) //chay tu Node tam den Node cuoi { tam2=tam1->Right; if(tam1->PhanTu > tam2->PhanTu) swap(tam1,tam2); } }}Bài 5. Viết chương trình con thêm 1 phần tử trong danh sách liên kết đã có thứ tựsao cho ta vẫn có 1 danh sách có thứ tự.void SapXepTang(DanhSach DS) { int tam; for(int i=1;i Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật. Node *tam=new Node; tam=L.First; while(tam->Right!=L.Last&&tam->PhanTu < pt) //chay tu Node dau tien cho denNode cuoi { //Dieu kien dung la pt lon hon PhanTu tai Node tam tam=tam->Right; //tim vi tri thich hop if(tam->PhanTu>=pt && tam->Right->PhanTuRight->Left=tam; tam->Left->Right=tam; tam->Left=tam->Left->Right; } }}Bài 6. Viết chương trình con tìm kiếm và xóa 1 phần tử trong danh sách liên kết cóthứ tự.void XoaPhanTu(List &L,int pt) { Node *tam=new Node; tam=L.First; while(tam->Right!=L.Last&&tam->PhanTu < pt) //chay tu Node dau tien cho denNode cuoi { //Dieu kien dung la pt lon hon PhanTu tai Node tam tam=tam->Right; //tim vi tri thich hop if(tam->PhanTu==pt) { //xoa phan tu tai vi tri vua tim duoc delete tam->Left->Right; tam->Right->Left=tam->Left; tam->Left->Right=tam->Right; delete tam; } } }Bài 7.Viết chương trình con nhập vào từ bàn phím 1 dãy s ố nguyên, l ưu tr ữ nótrong một danh sách có thứ tự không giảm, theo cách sau: V ới mỗi phần tử đ ượcnhập vào chương trình con phải tìm vị trí thích hợp để xen nó vào danh sách chođúng thứ tự. vctc trên cho trường hợp danh sách được cài đặt bằng mảng và càiđặt bằng con trỏ.SVTH: Tống Văn Chình – Lớp 06I Trường CĐ Công Nghệ Thông Tin- ĐH ĐN. Page 8 Bài báo cáo bài tập thực hành môn : Cấu Trúc Dữ Liệu & Giải Thuật.//them vao vi tri k trong sanh sachvoid ThemK(DanhSach &DS,int phantu,int k) { for(int i=DS.n;i>=k;i--) DS.PhanTu[i+1]=DS.PhanTu[i]; DS.PhanTu[k]=phantu; DS.n++; ...

Tài liệu được xem nhiều: