class Program
{
static void Main(string[] args)
{
TestArray ta = new TestArray(10);
Random rd = new Random(100);
for (int i = 0; i < 10; i++)
{
ta.Insert(rd.Next(0, 100));
}
Console.WriteLine("冒泡排序前的数组:");
ta.DisplayElements();
Console.WriteLine();
Console.WriteLine("冒泡排序中的数组:");
//ta.BubbleSortBetter();
ta.BubbleSort();
//Console.WriteLine();
Console.WriteLine("冒泡排序后的数组:");
ta.DisplayElements();
Console.ReadKey();
}
}
public void BubbleSortBetter()//这里是对冒泡排序的一种优化实现
{
int temp;
for (int outer = upper; outer >= 1; outer--)
{
bool IsExchanged = false;
for (int inner = 0; inner <= outer - 1; inner++)
{
if ((int)arr[inner] > arr[inner + 1])
{
temp = arr[inner];
arr[inner] = arr[inner + 1];
arr[inner + 1] = temp;
IsExchanged = true;
}
}
this.DisplayElements();
Console.WriteLine();
if (IsExchanged == false)
{
return;
}
}
}