Similar presentations:
Виды сортировок
1. Сортировка Вставками
tmpY
B
A
K
J
S
Y
B
A
K
J
B
S
Y
A
K
J
A
B
S
Y
K
J
A
B
K
S
Y
J
A
B
J
S
Y
K
2.
public void InsertSort(){ int i, j;
int tmp;
bool eoc;
for (i=1;i<N;i++)
{ tmp=A[i];
j=i-1;
eoc=false;
while (!eoc)
{ if (j < 0)
eoc = true;
else
if (A[j] < tmp)
eoc = true;
else
{ A[j+1]=A[j];
j=j-1;
}
}
A[j+1]=tmp;
}
}
3.
Сортировка ПузырекS
Y
B
A
K
J
S
B
Y
A
K
J
S
B
A
Y
K
S
B
A
K
S
B
A
K
B
A
K
J
S
Y
B
A
K
J
S
Y
J
A
B
K
J
S
Y
Y
J
A
B
J
K
S
Y
J
Y
A
B
J
K
S
Y
S
B
A
K
J
Y
B
S
A
K
J
Y
B
A
S
K
J
Y
B
A
K
S
J
Y
4.
public void BubbleSort(int h){ int i, j, Margin;
int tmp;
bool Finish;
Margin = N - h-1;
j = Margin;
do
{ Finish=true;
for (i = 0; i <= Margin; i++)
{ if (A[i] > A[i + h])
{ tmp = A[i];
A[i] = A[i + h];
A[i + h] = tmp;
j = i;
Finish = false;
}
}
Margin = j - h;
}
5.
public void Shell(){
int h;
h = N / 2;
while (h>0)
{
BubbleSort(h);
h = h / 2;
}
}
6.
public int DSearch(string _SI){ int left, middle, right;
int SI;
if (Int32.TryParse(_SI, out SI))
{ left = 0;
right = N - 1;
while (left < right)
{ middle = (left + right) / 2;
if (A[middle] < SI)
left = middle + 1;
else
right = middle;
}
if (A[right] == SI)
return right;
else
return -1;
}
return -1;
}
programming