单选题

下面 quick_sort 函数试图实现快速排序算法,两处横线处分别应该填入的是(    )。

void swap(int &a,int &b){
	int temp=a;a=b;b=temp;
}
int partition(int a[],int l,int r){
	int pivot=a[l],i=l+1,j= r;
	while(i<= j){
		while(i<=j&& a[j]>= pivot)
			j--;
		while(i<= j && a[i]<= pivot)
			i++;
		if(i< j)
			swap(a[i],a[j]);
	}
	__________;// 在此处填入选项
	return__________;// 在此处填入选项
}
void quick_sort(int a[],int l, int r){
	if(l<r){
		int pivot = partition(a,l, r);
		quick_sort(a,l,pivot -1);
		quick sort(a,pivot +1,r);
	}
}
A

swap(a[1],a[i])

i

B

swap(a[1],a[j])

i

C

swap(a[1],a[i])

j

D

swap(a[1],a[j])

j

赣ICP备20007335号-2