Tải bản đầy đủ (.doc) (2 trang)

Tài liệu cấu trúc dữ liệu và gải thuật _ ĐH Tây Bắc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (37.39 KB, 2 trang )


1
uses crt;
Type
date=record
ngay:byte;
thang:byte;
nam:integer;
end;
mark=record
van:real;
toan:real;
Ly:real;
tb:real;
End;
Item=record
Diem:mark;
Hoten:string;
Ngaysinh:date;
End;
Pointer=^cell;
Cell=record
Infor:item;
Next:pointer;
End;
{========================}
VAR
List1,list2:pointer;
{========================}
Procedure init(var l:pointer);
Begin


l:=nil;
End;
{========================}
Procedure ins(var x:item;
var l:pointer);
Var
P:pointer;
Begin
New(p);
P^.infor:=x;
P^.next:=l;
l:=p;
End;
{========================}
Procedure xem(l:pointer);
Var
P:pointer;
Begin
P:=l;
Writeln(‘hoten’:l3,’van’:7,’toan’:7,
‘ly’:l3,’TB’:5,ngaysinh”:l3);
While p<>nil do
Begin
With p^.infor do
Begin
Write(hoten:15);
With dien do
Write(van:5:l,toan:5:l,ly:10:l,TB:10:l);
With ngaysinh do
Writeln(ngay:4.thang:4,nam:6);

End;
p:=p^.next;
End;
End;
{==========================}
Procedure del(var x:item,var
r.q.ll:pointer);
Var
Pl:pointer;
Begin
x:=q^.infor
pl:=q
If q=ll then ll:=q^.next;
Else r^.next:=q^.next;
q:=q^.next;
dispose(pl);
end;
{==========================}
Procedure nhap( var l:pointer);
Var
x:item;
n.i:integer;
begin
write(‘Nhap tong so hoc sinh:’);
readln(n);
init(l);
for i:=l to n do
begin
with x do
begin

write(‘ho va ten:’);readln(hoten);
with dien do
begin
write(‘diem van: ‘);readln(van);
write(‘diem toan:’);readln(toan);
write(‘diem ly:’); readln(ly);
tb:=((van+toan)*2+ly)/5;
end;
with ngaysinh do
begin
write(‘ngaysinh:’);readln(ngay);
write(‘thangsinh:’);readln(thang);
write(‘namsinh:’);readln(nam);
end;
end;
ins(x.l);
end;
writeln(‘da nhap xong’);
xem(l);
end;
{==========================}
Procedure loai(var l:pointer);
Var
r.q:pointer;
x:item;
procedure visit(var p:pointer);
begin
while p^.infor.diem.tb=0 do
del(x.r.p.l);
end;

begin
r:=l;
q:=l;
while q<>nil do
begin
visit(q);
r:=q;
q:=q^.next;
end;
writeln(‘danh sach da sua la :’);
xem(l);
end;
{=========================}
Procedure tim_in(l:pointer);
Var
p:pointer;
procedure visit(p:pointer);
begin
with p^.infor do
if diem.tb>=7 then
write(hoten);
with diem do
write(van:5:l,toan:5:l,ly:5:l,tb:5:l);
with ngaysinh do
write(ngay:4,thang:4,nam:6);
end;
end;
begin
writeln(‘danhsachhocsinhdatkhala’);
p:=l;

while p<>nil do
begin
visit(p);
p:=p^.next;
end;
end;
{=========================}
Procedure tach(var ll,12:pointer);
Var
x:item
p,r:pointer;
procedure visit(var q:pointer);
begin
{====================================================================}
While q^.infor.diem.tb>=5 do
Begin
Procedure vi_tri(N1:pointer: var
N2:pointer);
preorder(root^.right);
end;

×