Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const N = 102;
- type TArr = array[1..N] of integer;
- var a:TArr; i, cnt1,cnt2, el:integer;
- //сортировка и поиск
- function SortAndSearch(c: TArr; elem: integer):integer;
- var j,k,m,id,cnt: integer;
- begin
- // сортировка
- m := N;
- while m > 1 do begin
- id := 1;
- for j := 2 to m do begin
- if c[j] > c[id] then id := j;
- //inc(cnt);
- end;
- k := c[id];
- c[id] := c[m];
- c[m] := k;
- m := m - 1;
- end;
- // поиск
- m := N div 2;
- i := 1;
- j := N;
- while (c[m] <> elem) and (i <= j) do begin
- inc(cnt);
- if elem > c[m] then i := m + 1
- else j := m - 1;
- m := (i+j) div 2;
- end;
- {if i > j then writeln('No')
- else writeln('Yes'); }
- result := cnt;
- end;
- begin
- //заполнение
- write('src mass: ');
- for i := 1 to N do begin
- A[i] := random(100);
- write(A[i]:3);
- end;
- writeln;writeln;
- cnt1 := 0;
- cnt2 := 0;
- write('Введите элемент который нужно найти: ');readln(el);
- for i := 1 to N do begin inc(cnt1); if A[i]=el then break; end;
- cnt2 := SortAndSearch(A,el);
- writeln('Поиск перебором: ',cnt1);
- writeln('Бинарный поиск: ',cnt2);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement