C#实现冒泡排序算法的代码示例

这里是详细讲解「C#实现冒泡排序算法的代码示例」的完整攻略。

算法简介

冒泡排序算法通过不断比较相邻的两个元素,将大的元素慢慢“冒泡”到数组的末尾,最终得到一个从小到大排列的有序数组。

计算机科学领域的算法大多数都有多种实现方式,这里我们介绍最基础的一种冒泡排序算法实现方式。

C# 实现代码示例

以下是 C# 实现冒泡排序算法的代码示例:

public static void BubbleSort(int[] arr)
{
    int temp;
    for (int i = arr.Length - 1; i > 0; i--)
    {
        for (int j = 0; j < i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

这段 C# 代码实现的冒泡排序算法接收一个整型数组作为参数,函数内部使用两个嵌套的循环完成冒泡排序算法的实现,最终返回一个排序完成的有序数组。

示例说明

示例1

假如现在需要对一个整型数组 [6, 3, 9, 1, 5] 进行排序。

我们可以调用上面的 BubbleSort 函数完成排序操作。

int[] arr = { 6, 3, 9, 1, 5 };
BubbleSort(arr);
for (int k = 0; k < arr.Length; k++)
{
    Console.Write(arr[k] + " ");
}

运行程序之后,得到的结果是:

1 3 5 6 9

很明显,冒泡排序算法已经将整型数组 [6, 3, 9, 1, 5] 按照从小到大的顺序进行了排序。

示例2

我们也可以将上面的代码改造一下,让输入数据变得更加灵活。

比如,现在我们需要从命令行输入一组整型数据,然后进行排序。

Console.WriteLine("请在一行中输入多个整数,按空格分隔:");

string inputStr = Console.ReadLine().Trim();
string[] inputs = inputStr.Split(' ');

int[] arr = new int[inputs.Length];
for (int i = 0; i < inputs.Length; i++)
{
    arr[i] = int.Parse(inputs[i]);
}

BubbleSort(arr);

for (int j = 0; j < arr.Length; j++)
{
    Console.Write(arr[j] + " ");
}

运行程序之后,在终端中输入一组数字,例如:

9 4 6 2 8

按下回车之后,程序会进行数据处理和排序操作,最终输出结果如下:

2 4 6 8 9

这里我们使用了 Console.ReadLine()Split() 方法,将命令行输入的整型数据转换为整型数组,然后再调用冒泡排序算法进行排序操作。

以上就是使用 C# 实现冒泡排序算法的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现冒泡排序算法的代码示例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 如何用C++实现A*寻路算法

    一、什么是A*寻路算法? A寻路算法(A search algorithm),也叫A算法,是一种启发式搜索算法,常用于求解路径规划问题。A算法结合了Dijkstra算法和启发式搜索的优点,能够在保证找到最短路径的情况下,大大降低搜索的时间和空间消耗。 二、A*寻路算法的原理 1.最短路径 在计算机科学中,最短路径问题是指两点之间的所有路径中,经过的边或节点数…

    算法与数据结构 2023年5月19日
    00
  • C#归并排序的实现方法(递归,非递归,自然归并)

    下面是关于C#归并排序的实现方法的完整攻略: 什么是归并排序? 归并排序是一种基于分治法的算法,具体实现方法是将原序列分成若干个子序列,分别进行排序,然后将排好序的子序列合并成一个大的有序序列。 递归实现归并排序 递归实现归并排序分为三步: 分解数组:将要排序的数组从中间分成两个部分,即分为左右两个子数组。这里使用数组下标来实现。 递归排序子数组:对分解出来…

    算法与数据结构 2023年5月19日
    00
  • 必须知道的C语言八大排序算法(收藏)

    必须知道的C语言八大排序算法(收藏) 简介 排序算法(sorting algorithms)是计算机程序设计中处理数据的重要技术之一,常见于数据处理程序中。其功能是按照指定的方式将所输入的数据进行排序。排序算法分为内部排序和外部排序,本文主要讲解C语言中的八大内部排序算法。 八大排序算法 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计…

    算法与数据结构 2023年5月19日
    00
  • 深入了解javascript 数组的sort方法

    深入了解JavaScript数组的sort方法 简介 在JavaScript中,数组(Array)是一个非常常用的数据结构,而sort()是Array原型上的非常常用的方法,可用于排序。数组中的元素可以是任何类型,但在排序时,所有元素都将转换为字符串形式,所以有时打算对不同数据类型的元素进行排序,您可能需要使用自定义比较函数。 基本使用方法 sort()方法…

    算法与数据结构 2023年5月19日
    00
  • JS折半插入排序算法实例

    下面是介绍JS折半插入排序算法的完整攻略。 什么是折半插入排序算法? 折半插入排序是插入排序的一种改进算法,它的基本思路是利用二分查找找到某个待排元素在已排序序列中插入位置。 折半插入排序算法的时间复杂度为 O(nlogn),比普通插入排序 O(n^2)快。 折半插入排序算法实现步骤 折半插入排序算法的实现步骤如下: 从第二个元素开始,将整个序列分为已排序区…

    算法与数据结构 2023年5月19日
    00
  • PHP快速排序quicksort实例详解

    PHP快速排序quicksort实例详解 本文将详细介绍如何使用PHP实现快速排序算法,并提供两个示例进行说明。 基本思路 快速排序是一种比较常见的排序算法,其基本思路是通过递归将待排序数组分割成更小的子数组,并把比基准值小的元素一次放到基准值左边,比基准值大的元素一次放到基准值右边,然后对左右两边分别递归执行上述操作,直到分割成的子数组长度为1,此时由于子…

    算法与数据结构 2023年5月19日
    00
  • c++ 快速排序算法【过程图解】

    C++ 快速排序算法【过程图解】 快速排序是一种常用的排序算法,其基本原理是通过分治的思想将待排序序列分成若干子序列,使得每个子序列都是有序的。具体实现时,首先选择一定的元素作为基准值,然后将比基准值小的元素全部放在基准值的左边,比基准值大的元素全部放在基准值的右边,这样就将序列分成了分别包含较小元素和较大元素的两个子序列。然后,递归地对子序列进行排序,最终…

    算法与数据结构 2023年5月19日
    00
  • C++实现快速排序(Quicksort)算法

    C++实现快速排序(Quicksort)算法 快速排序(Quicksort)算法是一种常见的排序算法,具有快速、高效、稳定性好等特点,广泛应用于各种工程实践中。 快速排序的基本思想 快速排序的基本思想是:选取一个基准值(pivot),将待排序序列划分成左右两个子序列,左边的子序列中所有元素都不大于基准值,右边的子序列中所有元素都不小于基准值,然后对左右两个子…

    算法与数据结构 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部