|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vova Kravets 2:467/117.13 03 Aug 2001 17:50:38 To : Michael Savin Subject : [1/1] SORT.PAS -------------------------------------------------------------------------------- Äpåâåñíàÿ ñîpòèpîâêà Äåpæè > Ñòàòóñ [þþþþþþþþþþþþþþþþþþþþ] < Ñåêöèÿ 1 èç 1 ôàéëà sort.pas < Ïîñëàíî UU Wizard v1.61.40 > -=ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ< UU Wizard >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ=- (*Ðåàëèçàöèÿ äpåâåcíîé cîpòèpîâêè, êîãäà âcå ýëåìåíòû cíà÷àëà çàãîíÿþòcÿ â äåpåâî, ïî cõåìå N ýëåìåíò / \ L<N R>N <--òî ÷òî áîëüøå ^òî ÷òî ìåíüøå N è òàê påêypcèâíî, à çàòåì èçâëåêàþòcÿ îòòyäà ïî cõåìå LNR ò.å, âûâîäèì cíà÷àëà ëåâûå, ïîòîì càìè yçëû ïîòîì ïpàâûå 2N / \ 1L 3R Hàäåþcü ïîíÿòíî? ;))  ýòîì ïpèìåpå ìû cîpòèpyåì còpîêè èç ôàéëà in.txt â ôàéë out.txt *) {$M 63000} program Indian_dream_tree_sort; Type PNode=^Tnode; TNode=record n:string; left :PNode; right:PNode; end; Procedure Insert(var p:PNode;s:string); begin if p=nil then begin new(p); p^.n:=s; p^.left:= nil; p^.right:=nil; end else if s<p^.n then Insert(p^.left,s) else Insert(p^.right,s) end; var fin:Text; fout:Text; Tree:PNode; r:string; Procedure LNR(p:Pnode); begin if p=nil then exit else begin LNR(p^.left); writeln(fout,p^.n,' '); LNR(p^.right); end; end; begin assign(fin, 'in.txt'); assign(fout,'out.txt'); reset (fin); rewrite(fout); Tree:=nil; repeat readln(fin,r); insert(tree,r); until eof(fin); LNR(Tree); close(fin); close(fout); end.ÿ -=ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ< UU Wizard >ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ=- --- UU Wizard v1.61.40 (c) Âëàäèñëàâ Ðîìàíîâè÷ Äçþáîâ 1998-1999 * Origin: Default Origin (2:467/117.13) Âåðíóòüñÿ ê ñïèñêó òåì, ñîðòèðîâàííûõ ïî: âîçðàñòàíèå äàòû óìåíüøåíèå äàòû òåìà àâòîð
Àðõèâíîå /ru.algorithms/3321e0587716.html, îöåíêà èç 5, ãîëîñîâ 10
|