快速排序
2017-12-05 16:30
183 查看
快速排序类似于抓扑克,依次比较排序完成的数组,将当前数插在合适的位置
时间复杂度O(n*n)
时间复杂度O(n*n)
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; void insert_sort(int *a, int left, int right); void exch(int &e1, int &e2); int main() { int tmp, iCount = 0; int a[8] = {2,3,1,4,7,6,5,8}, i, j; // insert sort insert_sort(a, 0, 8); // print a[] after sort for(i = 0; i < 8; i++){ cout << a[i] << " "; } system("pause"); return 0; } // insert sort void insert_sort(int *a, int left, int right) { int i, j, iTag; // put min to the front for(i = right - 1; i >= left; i--){ if (a[i - 1] > a[i]){ exch(a[i - 1], a[i]); } } // compare and exchange for (i = left + 1; i < right; i++){ j = i; iTag = a[j]; if(a[j - 1] > a[j]){ a[j] = a[j - 1]; j --; } a[j] = iTag; } } // change two integers void exch(int &e1, int &e2) { int tmp; tmp = e1; e1 = e2; e2 = tmp; }
相关文章推荐
- 八大排序算法之六--交换排序—快速排序(Quick Sort)
- Java实现快速排序
- [数据结构与算法]快速排序
- 数据结构学习(十三)、快速排序
- 快速排序
- c++ 快速排序
- 直接插入排序、归并排序、推排序、快速排序
- 快速排序与随机化快排运行速度实验比较
- 排序算法——快速排序详解(java实现)
- 排序算法之快速排序的多种版本
- 快速排序
- 快速排序
- 浅谈算法和数据结构: 四 快速排序
- HDU 1425 sort C语言实现快速排序
- java快速排序详解
- C++快速排序实现
- PAT 乙级 1045. 快速排序(25)(只得了20分,不够快)
- 快速排序
- 快速排序
- 算法------快速排序(QuicktSort)