Pretraživanje I Sortiranje

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 9

Pretraivanje i sortiranje

Sortiranje
Buble sort
Selection sort
Insertion sort
Shell sort

Pretraivanje
Sekvencijalno pretraivanje

Bubblesort
procedure bubblesort;
var j, t: integer;
begin
repeat
t:=a[1];
for j:=2 to N do
if a[j-1]>alj] then
begin t:=:a[j-1]; ab-1]:=ab]; a[j]:=t
end
until t=a[1];
end ;

Quicksort
procedure quicksort(l, r: integer);
var i;
begin
if r>l then
begin
i:=:partition(1, r)
quicksort (1, i- 1) ;
quicksort(i+l, r);
end
end ;

Selectionsort
procedure selectionSort;
var i, j, min, t: integer;
begin
for i:=l to N do
begin
min:=i;
for j:=i+l to N do
if ab]<a[min] then min:=j;
t:=a[min]; a[min]:=a[i]; a[i]:=t
end ;
end ;

Insertion sort
procedure insertionSort;
var i, j, v: integer;
begin
for i:=2 to N do
begin
v:=a[i]; j:=i;
while a[j-1]>v do
begin a[j] :=a[j-1]; j:=j-1 end;
a[j] :=v
end ;
end ;

Shell sort
procedure shellsort;
label 0;
var i, j, h, v: integer;
begin
h:=l; repeat h:=3*h+l until h>N;
repeat
h:=h div 3;
for i:=h+l to N do
begin
v:=a[i]; j:=i;
while a[j-h]>v do
begin
a[j]:=a[j-h]; j : = j - h ;
if j<=h then goto 0
end ;
0: a[j]:=v
end ;
until h= 1;
end ;

Sekvencijalno pretraivanje
type node=record key, info: integer end;
var a: array [O...maxN] of node;
N: integer;
procedure initialize;
begin N:=O er d;
function seqsearc:h(v: integer; x: integer): integer;
begin
a[N+1].key:=v;
if (x>=O) and (x<=N) then
repeat x:=x+1 until v=a[x].key;
seqsearch : =x
end ;
function seqinsert(v: integer): integer;
begin
N:=N+I; a[Pr].key:=v;
seqinsert:=N;
end ;

Binarno pretraivanje
function binarysearch (v: integer) : integer;
var x, 1, r: integer;
begin
l:=1; r:=N;
repeat
x:=(l+r) div 2;
if v<a[x].key then r:=x-1 else l:=x+1
until (v=a[x].key) or (l>r);
if v=a [x] .key
then binarysearch :=x
else binarysearch := N+ 1
end ;

You might also like