📄 quickselect.cpp
字号:
#include "stdafx.h"
#include "QuickSelect.h"
int Partition(double A[],int left,int right)
{
int i=left,
j=right+1;
double x=A[left],
dtemp;
while(1)
{
while(A[++i]>x);
while(A[--j]<x);
if(i>=j) break;
dtemp=A[i];
A[i]=A[j];
A[j]=dtemp;
}
A[left]=A[j];
A[j]=x;
return j;
}
double QuickSelect(double A[],int left,int right,int k)
{
if(left==right)
return A[left];
int i=Partition(A,left,right),
j=i-left+1;
if(k<=j)
{
if(k=j)
return A[i];
else
return QuickSelect(A,left,i,k);
}
else
return QuickSelect(A,i+1,right,k-j);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -