萌新求助,快排模板求助呜呜呜呜。
查看原帖
萌新求助,快排模板求助呜呜呜呜。
403960
wsqqe啊楼主2020/10/31 16:42
#include<iostream>
#include<algorithm>
using namespace std;
int a[100010],n;
void quicksort(int l,int r)
{
	int i=l,j=r;
	int x=(l+r)>>1;
	do
	{
		while(a[i]<a[x])
		i++;
		while(a[j]>a[x])
		j--;
		if (i<=j)
		{
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}
		while(i<=j);
		if (j>l) quicksort(l,j);
		if (i<r) quicksort(i,r);
}
int main()
{
	freopen("1.in","r",stdin);
	freopen("2.out","w",stdout);
	cin>>n;
	for (int i=1;i<=n;i++)
	cin>>a[i];
	quicksort(1,n);
	for (int i=1;i<=n;i++)
	cout<<a[i]<<" ";
	return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;
int a[100010],n;
void quicksort(int l,int r)
{
	int i=l,j=r;
	int zz=a[(l+r)/2];
	do
	{
		while(a[i]<zz)
		i++;
		while(a[j]>zz)
		j--;
		if (i<=j)
		{
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}
		while(i<=j);
		if (j>l) quicksort(l,j);
		if (i<r) quicksort(i,r);
}
int main()
{
	cin>>n;
	for (int i=1;i<=n;i++)
	cin>>a[i];
	quicksort(1,n);
	for (int i=1;i<=n;i++)
	cout<<a[i]<<" ";
	return 0;
}

第一份代码是错的,第二份代码是对的; 请问两者有什么区别;错误在哪里 这里有一份数据参考 4 8645 9065 6982 372

2020/10/31 16:42
加载中...