【快速排序】
  • 板块学术版
  • 楼主qip101
  • 当前回复1
  • 已保存回复1
  • 发布时间2020/11/19 21:41
  • 上次更新2023/11/5 07:42:32
查看原帖
【快速排序】
333800
qip101楼主2020/11/19 21:41

大家帮忙看下哪里错了

#include <bits/stdc++.h> 
using namespace std;
void Qsort(int arr[],int low,int high)
{
	if(high<=low) 
		return;
	int i=low;
	int j=high+1;
	int key=arr[low];
	while(true)
	{
		while(arr[++i]<key) 
			if(i==high) 
				break;
		while(arr[--j]>key) 
			if(j==low)
				break;
		if(i>=j)
			break;
		swap(arr[i],arr[j]);
		swap(arr[low],arr[j]);
		Qsort(arr,low,j-1);
		Qsort(arr,j+1,high);
	}
}
int main()
{
	int n,a[10005];
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		cin >> a[i];
	}
	Qsort(a,a+1,a+n+1);
	return 0;
}
2020/11/19 21:41
加载中...