文章

211

粉丝

1

获赞

1149

访问

40.8k

头像
快速排序 - 西工大 题解:
P1716 西北工业大学机试题
发布于2026年3月15日 21:05
阅读数 41

#include<bits/stdc++.h>
using namespace std;
vector<int> a;
void quick_sort(int l,int r){
	if(l>=r) 
		return;
	int i=l-1,j=r+1,x=a[l+r>>1];
	while(i<j){ 
		do i++; while(a[i]<x);
		do j--; while(a[j]>x);
		if(i<j) swap(a[i],a[j]);
	} 
	quick_sort(l,j),quick_sort(j+1,r); 
}
int main(){
	int n;
	cin >> n;
	a.resize(n);
	for(int i=0;i<n;i++)
		cin >> a[i];
	quick_sort(0,n-1);
	for(int i=0;i<n;i++)
		cout << a[i] << " ";
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发