|
Thủ tục FreeMem(p, n): Xoá n bytes đã cấp bằng thủ tục Getmem(p, n)
|
trang | 18/19 | Chuyển đổi dữ liệu | 28.05.2024 | Kích | 228.5 Kb. | | #57772 |
| On tap Pascal nang caoThủ tục FreeMem(p, n): Xoá n bytes đã cấp bằng thủ tục Getmem(p, n).
Hàm Maxavail: Cho kích thước block cực đại các bytes liên tiếp chưa dùng Heap.
Hàm Memavail: Cho tổng số bytes còn rỗi trong Heap.
VD 10.3 Lập trình tạo n < 100 biến động có kiểu số nguyên. Tính tổng các số nguyên tố trong n số đó.
VAR A: array[1..100] of ^Integer; N, i: Byte; S: LongInt;
Function NTO(n: Integer): Boolean; Var i: Integer; Begin NTO:= FALSE; If n < 2 then Exit; For i:= 2 to Trunc(Sqrt(n)) do If n mod i = 0 then Exit; NTO:= TRUE; End;
BEGIN Write(‘n = ‘) ReadLn(n); For i:= 1 to n do Begin New(a[i]); Write(‘Nhap so thu ‘, i, ‘: ‘); Readln(a[i]^); End; {Tinh tong cac so nguyen to} S:= 0; For i:= 1 to n do If NTO(a[i]^) then S:= S + a[i]^; Write(‘Tong cac so nguyen to : ‘, S); Readln; END.
10.5 Danh sách liên kết đơn
Danh sách liên kết: cấu trúc dữ liệu thích hợp cho việc thêm, bớt, ghép nối các phần tử. Tổ chức: vùng liên kết của phần tử thứ i chứa địa chỉ của phần tử thứ i+1 hoặc ngược lại. Mỗi phần tử của DSLK gồm 2 phần chính: vùng chứa dữ liệu (data) và vùng chứa địa chỉ của phần tử khác (link).
TYPE {Khai báo kiểu DSLK đơn} DataType = ^Real; PtrList = ^Item; Item = RECORD Data: DataType; Link: PtrList; END;
Các loại DSLK đơn: FIFO (First In First Out) - hàng đợi (Queue), LIFO (Last In First Out) - ngăn xếp (Stack).
Chia sẻ với bạn bè của bạn: |
|
|