冒泡排序是比较基础的排序算法之一,其思想是相邻的元素两两比较,较大的数下沉,较小的数冒起来,这样一趟比较下来,最大(小)值就会排列在一端。整个过程如同气泡冒起,因此被称作冒泡排序。
冒泡排序的步骤是比较固定的:
1>比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2>每趟从第一对相邻元素开始,对每一对相邻元素作同样的工作,直到最后一对。
3>针对所有的元素重复以上的步骤,除了已排序过的元素(每趟排序后的最后一个元素),直到没有任何一对数字需要比较。
代码:
static void Main(string[] args)
{
//输入数组
Console.WriteLine("请输入数组的长度:");
int length = Convert.ToInt32(Console.ReadLine());
int[] num = new int[length];
for (int i = 0; i < length; i++)
{
Console.WriteLine("请输入第{0}个数:", i);
num[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("输入的数组为:");
for (int i = 0; i < num .Length; i++)
{
Console.Write(num[i] + ",");
}
//冒泡排序
if (num.Length ==0 || num.Length == 1)
{
return;
}
for (int i = 1; i <num.Length ; i++)
{
for (int j = 0; j < num.Length-1; j++)
{
if (num[j] > num[j + 1])
{
int temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
Console.WriteLine();
Console.WriteLine("排序后的数组为:");
for (int i = 0; i < length ; i++)
{
Console.Write(num[i] + ",");
}
Console.ReadLine();
}