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 章:排序算法