diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
commit | 2f674dc80f0382f1c3178f435714960734dc9d3c (patch) | |
tree | 2abba7e4ec72bd16f58f7375126144d3fd9f4bca /12/TP-ThanhHoá-2009/sortnfind.pas | |
parent | b2d80610db6beda38573890ed169815e495bc663 (diff) | |
download | cp-2f674dc80f0382f1c3178f435714960734dc9d3c.tar.gz |
Reorganize stuff from secondary school
Diffstat (limited to '12/TP-ThanhHoá-2009/sortnfind.pas')
-rw-r--r-- | 12/TP-ThanhHoá-2009/sortnfind.pas | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/12/TP-ThanhHoá-2009/sortnfind.pas b/12/TP-ThanhHoá-2009/sortnfind.pas deleted file mode 100644 index 52e8d6b..0000000 --- a/12/TP-ThanhHoá-2009/sortnfind.pas +++ /dev/null @@ -1,83 +0,0 @@ -unit sortnfind; - -interface - - type - intar = array of smallint; - - procedure qsort(var a : intar); - - function binin( - a: intar; - x: smallint - ): boolean; - -implementation - - procedure qsort(var a : intar); - - procedure sort(l, r: longint); - var - i, j, x, y: longint; - - begin - i := l; - j := r; - x := a[(l + r) div 2]; - - repeat - while a[i] < x do - inc(i); - - while x < a[j] do - dec(j); - - if i <= j then - begin - y := a[i]; - a[i] := a[j]; - a[j] := y; - inc(i); - j := j - 1 - end - until i > j; - - if l < j then - sort(l, j); - - if i < r then - sort(i, r) - end; - - begin - sort(0, length(a) - 1) - end; - - - function binin( - a: intar; - x: smallint - ): boolean; - - var - l, h, mid: word; - - begin - l := 0; - h := length(a) - 1; - - while l <= h do - begin - mid := (l + h) div 2; - if x = a[mid] then - exit(true) - else if x < a[mid] then - h := mid - 1 - else - l := mid + 1 - end; - - binin := false - end; - -end. |