QUICK_SORT
2017-12-14 07:58
274 查看
快速排序:quick sort
时间复杂度:O(nlogn)
空间复杂度:O(n)
稳定性:稳定
TIME:2017年10月18日 13:56:46
*/
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
int partition(int array[],int low,int high)
{
int privot_key=array[low];
while(low<high)
{
while(low<high&&array[high]>=privot_key)
{
high--;
}
swap(array[low],array[high]);
while(low<high&&array[low]<=privot_key)
{
low++;
}
swap(array[low],array[high]);
}
return low;
}
void quick_sort(int array[],int low,int high)
{
if(low<high)
{
int privot_position=partition(array,low,high);
quick_sort(array,low,privot_position-1);
quick_sort(array,privot_position+1,high);
}
}
时间复杂度:O(nlogn)
空间复杂度:O(n)
稳定性:稳定
TIME:2017年10月18日 13:56:46
*/
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
int partition(int array[],int low,int high)
{
int privot_key=array[low];
while(low<high)
{
while(low<high&&array[high]>=privot_key)
{
high--;
}
swap(array[low],array[high]);
while(low<high&&array[low]<=privot_key)
{
low++;
}
swap(array[low],array[high]);
}
return low;
}
void quick_sort(int array[],int low,int high)
{
if(low<high)
{
int privot_position=partition(array,low,high);
quick_sort(array,low,privot_position-1);
quick_sort(array,privot_position+1,high);
}
}
相关文章推荐
- quick_sort
- 迭代的快速排序(Iterative Quick Sort)
- Algorithm: Quick Sort Mind and Related Questions
- 笔试算法题(56):快速排序实现之非递归实现,最小k值选择(non-recursive version, Minimal Kth Selection of Quick Sort)
- quick switch sort with C++
- Minimum Depth of Binary Tree and quick sort
- 快速排序的简单实现(Quick_Sort)
- 【Data Structure】nlogn-SortMethods(Quick/Heap/Shell/Merge)
- C标准库中的快速排序(quick-sort)函数 [简单应用]
- quick_sort.cc
- quick_sort
- C program for quick sort
- Algorithm: Quick Sort Mind and Related Questions
- Bubble, Insertion, Selection, Quick and Heap Sort
- Lecture 4 Quick Sort and Randomized Quick Sort
- Quick-sort
- poj 2388 Quick_sort 求中间值
- 排序_Quick_Sort(快速排序)
- quick_sort
- newlisp quick sort增强