C#排序1(冒泡排序、直接排序、快速排序)
2016-01-16 11:07
603 查看
冒泡排序:就是两个两个的这个比较好理解,代码也比较好写出来。
它的原理就是相邻的两个两个的比较,如果前面的数比后面的大,那么交换,它这个在比较完一次的时候可以得到最大的一个数,然后接着循环,每次外循环中内循环的次数比原来少一次。
它的原理就是相邻的两个两个的比较,如果前面的数比后面的大,那么交换,它这个在比较完一次的时候可以得到最大的一个数,然后接着循环,每次外循环中内循环的次数比原来少一次。
#region 快速排序 /// <summary> /// 快速排序 /// </summary> /// <param name="list"></param> /// <param name="left"></param> /// <param name="right"></param> public void QuickSort(List<int> list, int left, int right) { if (left < right) { int i = Division(list, left, right); QuickSort(list, i + 1, right); QuickSort(list, left, i - 1); } } /// <summary> ///把列表按照list[left]分到左右两边 /// </summary> /// <param name="list"></param> /// <param name="left"></param> /// <param name="right"></param> /// <returns></returns> private int Division(List<int> list, int left, int right) { while (left < right) { int num = list[left]; if (num > list[left + 1]) { list[left] = list[left + 1]; list[left + 1] = num; left++; } else { int temp = list[right]; list[right] = list[left + 1]; list[left + 1] = temp; right--; } Console.WriteLine(string.Join(",", list)); } Console.WriteLine("--------------\n"); return left; } #endregion
相关文章推荐
- C#技术------垃圾回收机制(GC)
- c# winform进入窗口后在文本框里的默认焦点
- C#判断文件是复制还是剪切
- C#基础学习
- C#基础练习(事件登陆案例)
- C#基础练习(事件登陆案例)
- C#基础练习(时间的三连击)
- C#基础练习(时间的三连击)
- C#基础练习(使用委托窗体传值)
- C#基础练习(使用委托窗体传值)
- c# 反射
- C#关于Clone()方法的介绍
- .NET中提升UAC权限的方法总结
- c# 深拷贝 浅拷贝
- Silverlight 5(C#)初探
- C#Socket 文件传输,支持断点续传
- c#下利用winAPI来实现扩展屏的分辨率设置、方向切换等
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- C# 中dataTable中的数据批量增加至数据表中