Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#冒泡排序

作者:躲藏我的霸气   发布日期:2026-02-27   浏览:54

using System;

class Program
{
    static void Main()
    {
        int[] array = { 64, 34, 25, 12, 22, 11, 90 };
        Console.WriteLine("排序前的数组:");
        PrintArray(array);

        BubbleSort(array);

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

    static void BubbleSort(int[] arr)
    {
        int n = arr.Length;
        for (int i = 0; i < n - 1; i++)
        {
            // 提前退出标志位
            bool swapped = false;
            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;
                    swapped = true;
                }
            }
            // 如果没有发生交换,说明数组已经有序,提前退出
            if (!swapped)
                break;
        }
    }

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

解释说明:

  1. 主程序 (Main 方法)

    • 定义一个整数数组 array 并初始化。
    • 打印排序前的数组。
    • 调用 BubbleSort 方法对数组进行排序。
    • 打印排序后的数组。
  2. 冒泡排序 (BubbleSort 方法)

    • 获取数组的长度 n
    • 使用两层循环进行排序:
      • 外层循环控制遍历次数,每次遍历后最大的元素会“冒泡”到数组末尾。
      • 内层循环比较相邻元素并交换位置,使得较大的元素逐渐向后移动。
    • 使用 swapped 标志位来检测是否发生了交换,如果没有发生交换则提前退出循环,优化排序过程。
  3. 打印数组 (PrintArray 方法)

    • 遍历数组并打印每个元素,方便查看排序结果。

上一篇:c# 遍历文件夹

下一篇:c# thread.sleep

大家都在看

c# 二进制

c# 创建目录

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站