当前位置:实例文章 » C#开发实例» [文章]0基础学C#笔记06:冒泡排序法

0基础学C#笔记06:冒泡排序法

发布人:shili8 发布时间:2025-01-26 07:07 阅读次数:0

**0基础学C#笔记06:冒泡排序法**

在前面的几篇笔记中,我们已经学习了如何使用C#语言进行基本的数据类型操作、控制结构和函数定义等。今天我们要讲的是一个非常重要的算法——冒泡排序法。

**什么是冒泡排序法?**

冒泡排序法是一种简单的排序算法,通过反复比较相邻元素,并将较大的元素向后移动一位,使得最大的元素最后排在一起。这种方法类似于人们在洗衣篮中,将衣服从上往下洗干净一样。

**冒泡排序法的步骤**

1. 比较相邻两个元素,如果前者大于后者,则交换它们。
2. 重复步骤1,直到整个列表有序。

**C#实现冒泡排序法**

csharpusing System;

class Program{
 static void Main()
 {
 int[] arr = {64,34,25,12,22,11,90 };

 Console.WriteLine("原始数组:");
 PrintArray(arr);

 BubbleSort(arr);

 Console.WriteLine("排序后的数组:");
 PrintArray(arr);
 }

 static void BubbleSort(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])
 {
 // 交换元素 int temp = arr[j];
 arr[j] = arr[j +1];
 arr[j +1] = temp;
 }
 }
 }
 }

 static void PrintArray(int[] arr)
 {
 foreach (int num in arr)
 {
 Console.Write(num + " ");
 }
 Console.WriteLine();
 }
}


**冒泡排序法的优缺点**

优点:

* 简单易懂,容易实现。
* 不需要额外的空间。

缺点:

* 时间复杂度较高(O(n^2)),不适合大规模数据的排序。
* 稳定性较差,可能会破坏原有的顺序。

**总结**

冒泡排序法是一种简单易懂的排序算法,但其时间复杂度较高,不适合大规模数据的排序。虽然它有很多缺点,但仍然是学习和理解算法的一个很好的例子。希望通过这篇笔记,你可以更好地理解冒泡排序法及其优缺点。

**参考**

* 《C#语言教程》第6 章:排序算法* 《数据结构与算法分析》第5 章:排序算法

其他信息

其他资源

Top