冒泡排序c#源代码
冒泡排序是一种基础且历史悠久的排序算法,它通过重复遍历待排序的数列,比较相邻元素并交换位置,直到整个数列变得有序。在C#编程语言中,实现冒泡排序同样简单直观,适用于教学和理解排序算法的基本原理。 在C#中,冒泡排序的实现通常涉及到两层循环。外层循环控制排序的次数,内层循环则负责每次比较和可能的交换操作。以下是冒泡排序的基本步骤: 1. 遍历数列从第一个元素到倒数第二个元素,进行n-1次比较(n为数列长度)。 2. 在每次遍历中,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。 3. 这个过程会使得最大的元素“浮”到数列的末尾,就像水底的气泡逐渐升至水面。 4. 重复以上步骤,但每次减少一个比较的元素(因为上一轮已经将最大元素排到了最后)。 5. 直到没有任何一次遍历需要交换元素,此时数列已完全有序。 以下是一个简单的C#冒泡排序示例代码: ```csharp using System; class BubbleSortExample { 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 Main() { int[] numbers = { 64, 34, 25, 12, 22, 11, 90 }; Console.WriteLine("Original array:"); PrintArray(numbers); BubbleSort(numbers); Console.WriteLine("\nSorted array:"); PrintArray(numbers); } static void PrintArray(int[] arr) { foreach (int value in arr) Console.Write(value + " "); Console.WriteLine(); } } ``` 这段代码首先定义了一个`BubbleSort`方法,接收一个整型数组作为参数。然后,它通过两层嵌套循环来执行冒泡排序的过程。在`Main`方法中,我们创建了一个未排序的数组,并调用`BubbleSort`对其进行排序。排序完成后,`PrintArray`方法用来打印排序前后的数组。 虽然冒泡排序在处理小规模数据时效率尚可,但对于大数据量或性能要求较高的场景,其效率较低,因为时间复杂度为O(n^2)。因此,在实际开发中,更常使用快速排序、归并排序、堆排序等更高效的排序算法。不过,冒泡排序仍然在教育领域有着重要地位,帮助初学者理解排序算法的基本逻辑和工作原理。
- 1
- 粉丝: 9
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20190313-100538-非对称电容在变压器油中10kv高压电作用下产生力的现象
- GB材料数据库(!请注意鉴别其中的材料参数并不是完全正确!)
- JAVA商城,支持小程序商城、 供应链商城 小程序商城 H5商城 app商城超全商城模式官网 支持小程序商城 H5商城 APP商城 PC商城
- springboot的在线商城系统设计与开发源码
- springboot的飘香水果购物网站的设计与实现 源码
- NO.4学习样本,请参考第4章的内容配合学习使用
- 20190312-084407-旋转磁体产生的场对周围空间长度的影响-数值越大距离越短
- 嵌入式系统应用-LVGL的应用-智能时钟 part 2
- 国家安全教育课程结课论文要求.docx
- FIR数字滤波器设计与软件实现.pdf