首先,系统随机生成一个一维数组,并将其打印到控制台。然后询问用户是否要对该数组进行冒泡排序,如果用户选择是,则执行冒泡排序算法并打印排序后的数组。
关键代码:
static void Main(string[] args)
{
Random rand = new Random();
int[] array = new int[10]; // 假设数组长度为10
// 随机填充数组
for (int i = 0; i < array.Length; i++)
{
array[i] = rand.Next(0, 100); // 数字范围0-99
}
Console.WriteLine("原始数组:");
PrintArray(array);
Console.Write("是否要对数组进行冒泡排序?(y/n): ");
string response = Console.ReadLine();
if(response.ToLower() == "y")
{
BubbleSort(array);
Console.WriteLine("排序后的数组:");
PrintArray(array);
}
else
{
Console.WriteLine("未执行排序。");
}
}
static void BubbleSort(int[] arr)
{
int n = arr.Length;
bool swapped;
for (int i = 0; i < n - 1; i++)
{
swapped = false;
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// 如果没有发生交换,说明数组已经有序,提前结束
if (!swapped) break;
}
}
static void PrintArray(int[] arr)
{
foreach (var item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
}
评论