冒泡
for (int i = 0; i < a.Length - 1; i++)
{
for (int j = 0; j < a.Length - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
选择排序
for (int i = 0; i<a.Length - 1; i++)
{
int b = i;
int min = a[i];
for (int j = i + 1; j<a.Length; j++)
{
if (min > a[j])
{
min = a[j];
b = j;
}
}
a[b] = a[i];
a[i] = min;
}
for (int i = 0; i<a.Length; i++)
{
Console.WriteLine(a[i]);
}
插入排序
int temp, p;
for (int i = 1; i < a.Length; i++)
{
temp = a[i];
p = i - 1;
while (p >= 0 && temp < a[p])
{
a[p + 1] = a[p];
--p;
}
a[p + 1] = temp;
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
二分查找
int key = int.Parse(Console.ReadLine());
while (low <= high)
{
int mid = (low + high) / 2;
if (a[mid] == key)
{
Console.WriteLine(mid);
break;
}
else if (a[mid] > key)
{
high = mid - 1;
}
else if (a[mid] < key)
{
low = mid + 1;
}
}
if (low > high)
{
Console.WriteLine("404");
}