用c sharp写一个冒泡
时间: 2023-09-07 14:05:07 浏览: 132
### 回答1:
排序程序的示例代码:
```
using System;
class BubbleSort
{
static void Main()
{
int[] arr = {3, 60, 35, 2, 45, 320, 5};
Console.WriteLine("排序前的数组:");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// 交换两个数
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
Console.WriteLine("\n排序后的数组:");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
}
}
```
这是一个用 C# 语言编写的冒泡排序程序。它定义了一个数组 arr,并在两个循环中使用冒泡排序算法将其元素排序。两个 for 循环中的第二个循环用于比较相邻元素的大小,并在需要时交换它们。最后,程序打印出排序后的数组。
### 回答2:
冒泡排序是一种简单而经典的排序算法,使用C#语言编写冒泡排序程序可以如下:
```C#
using System;
class Program
{
static void Main(string[] args)
{
int[] arr = { 5, 3, 8, 2, 1 };
Console.WriteLine("排序前的数组:");
foreach (int num in arr)
{
Console.Write(num + " ");
}
Console.WriteLine();
BubbleSort(arr);
Console.WriteLine("排序后的数组:");
foreach (int num in arr)
{
Console.Write(num + " ");
}
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;
}
}
}
}
```
这段代码首先定义了一个数组arr,然后通过调用BubbleSort方法对数组进行冒泡排序。冒泡排序的原理是从数组的第一个元素开始,依次比较相邻的两个元素,如果顺序错误就交换位置,直到整个数组有序。通过外层循环控制排序的轮数,通过内层循环逐个比较和交换元素,通过布尔变量swapped判断是否发生交换,如果没有发生交换,则可以提前结束排序。最后,输出排序后的数组。执行这段代码,就可以看到冒泡排序的结果。
### 回答3:
冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过相邻元素之间的比较和交换来实现排序。下面是使用C#语言编写的冒泡排序算法的示例代码:
```csharp
using System;
class BubbleSort
{
static void Main(string[] args)
{
int[] arr = { 4, 9, 2, 6, 5 };
Console.WriteLine("排序前:");
PrintArray(arr);
BubbleSortAlgorithm(arr);
Console.WriteLine("\n排序后:");
PrintArray(arr);
}
static void BubbleSortAlgorithm(int[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// 交换arr[j]和arr[j + 1]的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
static void PrintArray(int[] arr)
{
foreach (int element in arr)
{
Console.Write(element + " ");
}
}
}
```
运行以上代码,将输出排序前后的数组元素。冒泡排序的核心是嵌套的两个循环,通过比较和交换相邻元素来实现排序。外层循环控制比较的轮数,内层循环用于在每一轮中进行相邻元素的比较和交换。
阅读全文