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

Đồ Án Các số từ 1 đến 2008 được xếp theo thứ tự tăng dần trên một đường tròn theo chiều kim đồng hồ

23 704 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

Định dạng
Số trang 23
Dung lượng 532,5 KB

Nội dung

Phần I : GIỚI THIỆUCấu trúc dữ liệu là một môn học quan trọng trong lĩnh vực CNTT .Nó là cơ sở vững chắc để ta giải quyết các bài toán trong quá trình học tập cũngnhư trong cuộc sống .Mộ

Trang 1

Phần I : GIỚI THIỆU

Cấu trúc dữ liệu là một môn học quan trọng trong lĩnh vực CNTT Nó là

cơ sở vững chắc để ta giải quyết các bài toán trong quá trình học tập cũngnhư trong cuộc sống Một điều quan trọng nữa là nó cung cấp cho chúng tanhững hiểu biết về các giải thuật tác động lên dữ liệu cũng như cách tổ chức

dữ liệu để giải quyết các bài toán sao cho dễ nhất , tối ưu nhất

Sau khi học môn “Cấu trúc dữ liệu ” và tiếp đến là môn “Phân tích vàthiết kế giải thuật”, chúng em được giao thực hiện đồ án môn học “Cấu trúc

dữ liệu ”để giải quyết một số bài toán liên quan đến môn học, cụ thể là bàitoán số 43 :

“ Các số từ 1 đến 2008 được xếp theo thứ tự tăng dần trên một đường tròntheo chiều kim đồng hồ Bắt đầu từ số 1 , chuyển động theo chiều kim đồng

hồ , cứ bước qua một số lại xóa đi một số Công việc đó tiếp diễn cho đếnkhi trên vòng tròn còn lại đúng 1 số Lặp lai chương trình và in ra số đó “Đây là đồ án đầu tiên của chúng em nên không thể tránh khỏi sai sót , rấtmong sự giúp đỡ tận tình của các thầy cô trong khoa Em cũng xin cảm ơnthầy

LÊ QUÝ LỘC đã hướng dẫn và giúp chúng em hoàn thành đồ án này.

Trang 2

Văn Tiến Sỹ-Nguyễn Minh Chí

Lớp 06T4 - Khoa Công Nghệ Thông Tin

Đại Học Bách Khoa Đà Nẵng

Phần II : CẤU TRÚC DỮ LIỆU

Trang 3

+Chương trình dùng danh sách liên kết, để liên các phần tử được khởi tạo thành danh sách liên kết theo vòng tròn.

+ Dùng trường Next của danh sách liên kết để tìm phần tử cần xóa đầu tiên + Biến truyền vào hàm là tham chiếu, để thay đổi sau khi nhập danh sách vàxóa danh sách liên kết

Trang 4

Phần IV : CHƯƠNG TRÌNH ( viết bằng C++ )

Trang 5

void create(list &ds);

void setdata(list &ds);

Trang 8

(*p).next = (*p1).next; // gan next cua p cho next p1 de xoa p1

cout<<(*p1).data<<" ";// xuat phan tu se xoa

Trang 9

Phần V : KẾT QUẢ DỮ LIỆU

Chương trình được chạy với giá trị của n là 2008 lần lượt với tr = 1 và tr = 1000

Chương trình yêu cầu người dùng nhập giá trị của n , rồI in ra các số đã bị xóa CuốI cùng yêu cầu nhấn Enter để hiện kết quả

Kết quả như sau :

Trang 10

Với n = 2008 và tr = 1

Trang 14

Với n= 2008 tr= 1000

Trang 17

Phần IV: THUẬT TOÁN

Vào : + Nhập n

+ Khởi tạo danh sách liên kết gồm các phần tử từ 1 đến 2008

+ Duyệt và xóa : Sử dụng tham chiếu P , P1

SVTH: Văn Tiến Sỹ-Nguyễn Minh Chí 17

Bắt đầu

Xóa các phần tử trong sách liên kết

Kiểm tra n Nhập n

Nhập tr

Kiểm tra tr

Nhập danh sách liên kết

In ra giá trị còn lại

Trang 18

SAI

ĐÚNG

Trang 19

HÀM SETDATA

Trang 21

n-2

n-3

Trang 22

n-2

n-3

Trang 23

2 P1=(*P).next Delete []P1

P =tr

1 3

P= (*P).next (*P).next=(*P1).next

Nhảy qua P1 (gán (*P1).next cho (*P).next) và xóa P1

Cho đến khi P!=(*P)next Nghĩa là còn một phần tử

Xuất phần tử còn lại

4

Ngày đăng: 10/04/2015, 16:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w