about summary refs log tree commit diff
path: root/12/TP-ThanhHoá-2009/sortnfind.pas
diff options
context:
space:
mode:
Diffstat (limited to '12/TP-ThanhHoá-2009/sortnfind.pas')
-rw-r--r--12/TP-ThanhHoá-2009/sortnfind.pas83
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.