排序算法总结
来源:互联网 发布:朗塞特 知乎 编辑:程序博客网 时间:2024/06/03 21:01
1:快速排序
快速排序的原理是找一个参考点,前区和后区分别和这个参考点比较,有change就开始互换,那么截至点就是前区的移动位置和后区的移动位置有重合,就代表这轮就结束了,
public class TestQuickSort { private List<int> arrayList = new List<int>();//list的初始化 public void createArray() { arrayList.Add(10); arrayList.Add(9); arrayList.Add(4); arrayList.Add(3); arrayList.Add(10); arrayList.Add(10); arrayList.Add(0); arrayList.Add(7); arrayList.Add(10); arrayList.Add(8); } public void quickSort(int low,int high) { if(low >= high) { return; } int i = low; int j = high; int key = arrayList[low]; int temp = 0; while(true) { int right = j; int left = 0; for (right=j; right > 0; right--) { if(arrayList[right] < key) { break; } } for (left = 0; left < j; left++) { if(arrayList[left] > key) { break; } } if(right < left) //说明没有change的, { break; } if(right > left) //说明有change的,就交换 { temp = arrayList[left]; arrayList[left] = arrayList[right]; arrayList[right] = temp; } else //说明都走到这个 { temp = arrayList[left]; arrayList[left] = arrayList[low]; arrayList[low] = temp; break; } PrintList(); } quickSort(0, i); quickSort(i + 1, j); } public void PrintList() { foreach(var item in arrayList) { Console.Write("{0}\t", item); } Console.WriteLine(""); } }
0 0
- 算法--排序算法总结
- 算法:排序算法总结
- 算法:排序算法总结
- 算法-排序算法总结
- 算法-排序算法总结
- 【排序算法】排序算法总结
- 排序算法总结---希尔排序
- 排序算法总结---冒泡排序
- 排序算法总结----快速排序
- 排序算法总结---希尔排序
- 排序算法总结【内排序】
- 排序算法之内排序总结
- 排序算法总结:冒泡排序
- 【排序算法总结】冒泡排序
- 【排序算法总结】选择排序
- 排序算法总结
- 排序算法大总结
- 排序算法总结
- Application类用法
- CSS属性学习随笔
- SegmentFault 技术周刊 Vol.1 - Vue.js 起手式
- 单例模式详解
- 解决字段名与实体类属性名不相同的冲突
- 排序算法总结
- swift 有一排按钮,点击按钮时,被点击的按钮如何向中间的位置移动
- 理解 Android Build 系统
- Java Android 等 中文Api 查询网站
- wechat video not full screen 解决方案
- can't find /mnt in /etc/fstab问题的解决和fstab详解
- flex布局兼容性写法
- android下面通过I2C TOOLS工具查看设备寄存器(S5PV210平台)
- iOS 通知带参数