📄 4.4.cpp
字号:
#include<stdio.h>
void Swap(int &a,int &b)
{
int t;
t=a;
a=b;
b=a;
}
int Select(int a[],int left,int right,int k)
{
int i,j,pivot;
if(left>=right)return a[left];
pivot=a[left];
i=left+1;
j=right;
while(1)
{
do
{
i++;
}while(a[i]<pivot);
do
{
j--;
}while(a[j]>pivot);
if(i>=j)break;
Swap(a[i],a[j]);
}
if(j-left+1==k)return pivot;
a[left]=a[j];
a[j]=pivot;
if(j-left+1<k)
return Select(a,j+1,right,k-j-1+left);
else
return Select(a,left,j-1,k);
}
int main()
{
int n,i;
int a[101];
scanf("%d",&n);
for(i=0;i<n;i++)
a[i]=i+1;
for(i=0;i<n;i++)
printf("%d ",a[i]);
int k;
printf("\n");
scanf("%d",&k);
k=Select(a,0,n-1,k);
printf("%d",k);
scanf("%d",&n);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -