[Home]
[Chapter]
[Contents]
[Previous Algorithm]
[Next Algorithm]


Insertion in a sorted array


procedure insert( key : typekey; var r : dataarray ); label 999; var i : integer; begin i := n; if n>=m then Error {*** Table full ***} else begin n := n+1; while i>0 do if r[i].k > key then begin r[i+1] := r[i]; i := i-1 end else goto 999; {*** break ***} {*** Insert new record ***} 999: r[i+1].k := key end end;

C source (321.ins.c) Pascal source (321.ins.p)



© Addison-Wesley Publishing Co. Inc.