快速排序C语言实现

// testaaaaa.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include     // std::cout
#include    // std::make_heap, std::pop_heap, std::push_heap, std::sort_heap
#include       // std::vector
using namespace std;


int divid(int arr[],int left,int right)
{
int key=arr[left];
while(left {
while(left=key)
--right;
arr[left]=arr[right];
while(left ++left;
arr[right]=arr[left];
}
arr[left]=key;
return left;
}
void myqsort(int arr[],int left,int right)
{
if(left {
int privote=divid(arr,left,right);
myqsort(arr,left,privote-1);
myqsort(arr,privote+1,right);
}
}
int main () {
int myarray[]={10,2,3,22,999,7,8,666,99};
myqsort(myarray,0,8);
for(int i=0;i<9;i++)
cout< cout<

  return 0;

}


快速是不稳定的排序算法,

           平均时间    退化                    空间开销

快速 O(nlogn) O(n2) 不稳定 O(nlogn) n大时较好

你可能感兴趣的:(快速排序C语言实现)