选择排序、快速排序代码
2013-08-09 10:31
176 查看
选择排序
快速排序
int selectionSort(int argv[], int size) // 选择排序 { int time = 0; // 计算比较次数 for (int i = 0; i < size; i++) { int minIndex = i; for (int j = i+1; j < size; j++) { ++time; if (argv[j] < argv[minIndex]) { minIndex = j; } } if (minIndex != i) { int temp = argv[i]; argv[i] = argv[minIndex]; argv[minIndex] = temp; } } return time; }
快速排序
int QuickSort(int argv[], int low, int high) { static int time = 0; // 计算调用次数 ++time; if(low>=high) // 比较到中间结束 return time; int l = low; int h = high; int k = argv[low]; // 以数组开头做为k, while(l != h) // 作用把小于k的数放在k左边,大于k的数放在k的右边。 { while(l < h && argv[h] >= k) // 从后high开始往前找到第一个小于k的下标记做h { h--; } argv[l] = argv[h]; // 把小的数放l的位置。argv[h]相当于变为空位(数据已经移走,但没有清除) while(l
相关文章推荐
- 冒泡排序、快速排序、选择排序、插入排序、shell排序C代码
- 快速排序-常见中轴(主元pivot)选择方法及实现代码(末位/随机/三数中值/..)
- C++三种排序,快速排序、选择排序、冒泡排序----简单代码
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序的C++代码实现
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- 冒泡排序,选择排序,快速排序的代码
- 快速排序代码(选择最右值最为枢纽元)
- [java]排序分类--及选择排序、插入排序、冒泡排序、快速排序的解释图和代码
- 选择,插入,希尔,快速,堆,归并排序六种排序方式的Java 实现和性能对比(付代码)
- [java]排序分类--及选择排序、插入排序、冒泡排序、快速排序的解释图和代码
- 快速排序实现代码
- Java 冒泡排序、选择排序、快速排序、归并排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 常见排序算法的实现(归并排序、快速排序、堆排序、选择排序、插入排序、希尔排序)
- c++实现数据结构中的各种排序方法:直接插入、选择,归并、冒泡、快速、堆排序、shell排序
- 算法--排序(冒泡,选择,插入,快速)
- 快速排序,归并排序,堆排序的java代码实现
- 冒泡排序,快速排序,选择排序
- C# 插入排序 冒泡排序 选择排序 快速排序 堆排序 归并排序 基数排序 希尔排序
- 归并排序快速排序java代码