C#几种常见的排序方式

本文介绍了C#中常见的三种排序算法:冒泡排序、选择排序和插入排序。详细解析了每种排序算法的原理,并通过实例展示了其工作过程。冒泡排序通过相邻元素的比较和交换将最大元素逐渐移到末尾;选择排序每轮找出最小元素并与当前未排序部分的第一个元素交换;插入排序则通过比较和移动将每个元素插入到已排序部分的正确位置。
摘要由CSDN通过智能技术生成

1.冒泡排序

原理:比较两个相邻的元素,将其中大的一个元素移到后方,这样第一轮比较完成后,最大的元素就排到了元素的末尾

通过几轮的比较就可以将 所有的元素进行从大到小的排序

我们假定有一个数组 int[] arr={100,30,50,200,60,79,-10,-50,0};

第一轮比较100和30,如果左边的元素大于右边的元素,则交换

比较的结果是30 100,以此类推100 和50 比较 结果是 50 100

第一轮的比较结果是 30,50,100,60,79,-10,-50,0,200

这样最大的元素就跑到了后面,所以第二轮的比较最后一个元素就不用比较了

第二轮比较索引还是从0开始,只是最后一个不用比较,算法还是一样的

 

所谓冒泡排序就是指:将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。

 

int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
第一趟比较: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.Lengt

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值