Tin họC ĐẠi cưƠNG


Thủ tục FreeMem(p, n): Xoá n bytes đã cấp bằng thủ tục Getmem(p, n)



tải về 228.5 Kb.
trang18/19
Chuyển đổi dữ liệu28.05.2024
Kích228.5 Kb.
#57772
1   ...   11   12   13   14   15   16   17   18   19
On tap Pascal nang cao

Thủ 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

  • Khái niệm

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).




1   ...   11   12   13   14   15   16   17   18   19




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương