循环数组,通过比较前一个与后一个数的大小,将小的前移,不断地将小的数向前冒;
例子:
class B_冒泡算法_BubbleSort
{
static void Main()
{
List<int> myList = new List<int> { 15, 6, 22, 18, 9, 8, 22, 999, 33, 49, 17, 66, 77, 55 };
Console.WriteLine("排序前的数据");
for (int i = 0; i < myList.Count; i++)
{
Console.Write(myList[i] + " ");
}
Console.WriteLine();
BubbleSort(myList);
Console.WriteLine("使用冒泡排序法排序后的数据");
for (int i = 0; i < myList.Count; i++)
{
Console.Write(myList[i] + " ");
}
Console.ReadKey();
}
static void BubbleSort(List<int> list)
{
if(list==null||list.Count<1)
{
return;
}
for (int id = 0; id < list.Count-1;id++ )
{
for (int num = list.Count - 1;num>id;num-- )
{
if (list[num] < list[num - 1])
{
int temp = list[num];
list[num] = list[num - 1];
list[num - 1] = temp;
}
}
}
}
}