冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
一、冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。<br>
int[] nums={9,8,7,6,5,4,3,2,1,0}; //排序后得:0 1 2 3 4 5 6 7 8 9
第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次     i=0  j=nums.Length-1-i
第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次     i=1  j=nums.Length-1-i
第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次     i=2  j=nums.Length-1-i
第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次     i=3  j=nums.Length-1-i
第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次
第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次
第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次
第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次
第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次
<br>核心算法:
for(int i=0;i<nums.Length-1;i++) //决定一共比较多少趟
{
    for(int j=0;j<nums.Length-1-i;j++) //决定每趟交换多少次
    {
        if(nums[j]>nums[j+1])//交换条件
        {
            int temp=nums[j];
            nums[j]=nums[j+1];
            nums[j+1]=temp;
        }
    }
}


二、小练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace _Test
{
    class Program
    {
        static void Main(string[] args)
        {
            //请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。
            int[] nums = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 };
            Change(nums);<br>        //便利输出数组
            for (int i = 0; i < nums.Length; i++)
            {
                Console.WriteLine(nums[i]);
            }
            Console.ReadKey();
 
        }
<br>     //冒泡排序方法
        public static void Change(int[] nums)
        {
            for (int i = 0; i < nums.Length - 1; i++)
            {
                for (int j = 0; j < nums.Length - 1 - i; j++)
                {
                    if (nums[j] > nums[j + 1])
                    {
                        int temp = nums[j];
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
        }
 
 
    }
}

 三、请自主实现降序排序

 

posted @   hao_1234_1234  阅读(244)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示