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

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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;

Ngày đăng: 23/11/2013, 06:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan