Phân tích thiết kế thuật toán If Retrieve(p)=Retrieve(q) then

Một phần của tài liệu Giáo trình Phân tích thiết kế thuật toán (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề (Trang 26 - 28)

If Retrieve(p)=Retrieve(q) then DeleteList(q,L) Else q : = Next(q, L); End; P : = Next(p, L); End; End; .6.2 Cài đặt danh sách

ạ Cài đặt danh sách bằng mảng (danh sách đặc) :

Danh sách đặc là danh sách mà các phần tử của nó được sắp xếp trong các vùng nhớ hay ô nhớ liên tiếp nhaụ

Cài đặt danh sách bằng mảng nghĩa là ta dùng một mảng (array) để lưu trữ liên tiếp các phần tử của danh sách bắt đầu từ vị trí đầu tiên của mảng. Dĩ nhiên là ta phải ước lượng số phần tử của danh sách để khai báo số phần tử của mảng thích hợp và nói chung là cịn thừa chỗ trống trong mảng, vì vậy ta phải lưu giữ độ dài hiện tại của danh sách. Danh sách này cho biết mảng có bao nhiêu phần tử và phần tử nào của mảng còn trống.

Khai báo :

Const Maxlength = ............; {Ðộ dài tối đa của danh sách} Type

ElementType = ................; {Kiểu phần tử trong danh sách} List = Record

Elements : array [1..Maxlength] of ElementType; Last : integer; {Ðộ dài thật sự của danh sách} End;

Thủ tục khởi tạo danh sách rỗng : Procedure MakenullList (Var L : List);

Phân tích thiết kế thuật tốn

L.Last : = 0; End;

Hàm kiểm tra danh sách rỗng :

Function EmptyList (L : List) : Boolean;

Begin

EmptyList : = (L.Last = 0); End;

Hàm kiểm tra danh sách đầy :

Function FullList (L : List) : Boolean;

Begin

FullList : = (L.Last > = Maxlenght); End;

Thủ tục nhập giá trị cho các phần tử của danh sách : Procedure ReadList (Var L : List);

Var i : position; Begin

For i := 1 to L. Last do Begin

Write (' Nhập phần tử thứ ', i ,' của danh sách : '); Readln (L.Elements [i]);

End; End;

Thủ tục xen một phần tử vào danh sách :

Khi xen một phần tử vào danh sách, ta có thể gặp các trường hợp sau đây :

 Mảng đầy (độ dài của danh sách = độ dài của mảng) thì thủ tục sẽ bị lỗị

 Ngược lại nếu vị trí p khơng tồn tại (p < 1 hay p > L . Last + 1) thì thủ tục cũng bị lỗị

 Ngược lại nếu vị trí p là hợp lệ thì ta thực hiện các bước sau :

 Dời các phần tử từ vị trí p đến cuối danh sách xuống 1 đơn vị.

 Ðộ dài của danh sách tăng lên 1.

 Xen phần tử mới vào vị trí p của danh sách.

Một phần của tài liệu Giáo trình Phân tích thiết kế thuật toán (Nghề Lập trình máy tính): Phần 1 - Tổng cục dạy nghề (Trang 26 - 28)

Tải bản đầy đủ (PDF)

(109 trang)