int bottom = 0;
int top = num.Length - 1;
bool swap = true;
while (swap == true)
{
swap=false;
for (int i = bottom; i < top; i++)
{
if (num[i] > num[i + 1])
{
sort(num, i, i + 1);
swap = true;
}
}
top--;
for (int i = top; i > bottom; i--)
{
if (num[i] < num[i - 1])
{
sort(num, i, i - 1);
swap = true;
}
}
bottom++;
}
int top = num.Length - 1;
bool swap = true;
while (swap == true)
{
swap=false;
for (int i = bottom; i < top; i++)
{
if (num[i] > num[i + 1])
{
sort(num, i, i + 1);
swap = true;
}
}
top--;
for (int i = top; i > bottom; i--)
{
if (num[i] < num[i - 1])
{
sort(num, i, i - 1);
swap = true;
}
}
bottom++;
}