快速排序的内存溢出问题
  • 板块学术版
  • 楼主wyz351244716
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/12/24 11:58
  • 上次更新2023/11/5 05:44:59
查看原帖
快速排序的内存溢出问题
451473
wyz351244716楼主2020/12/24 11:58

快速排序内存超出的问题

#include<stdio.h>
long long a[10001];
void px(int l,int r){
	int i,j;
	long long tmp;
	a[0]=a[(l+r)/2];
	i=l,j=r;
	if(l>r) return;
	while(i<=j){
		while(a[j]>=a[0])
			j--;
		while(a[i]<=a[0] )
		    i++;
		if(i<j){
			tmp=a[i];
			a[i]=a[j];
			a[j]=tmp;
			i++;j--;		
		}
	}
	if(l<j)px(l,j);
    if(i<r)px(i,r);

} 
int main(){
	int n,i;
    
	scanf("%d",&n);
    
	for(i=1;i<=n;i++){
		scanf("%d",&a[i]); 
	}
	px(1,n);
	for(i=1;i<=n;i++){
		printf("%d ",a[i]); 
	}
    return 0;
}

当我输入以下测试数据时,会超出内存限制

10
548813502 592844616 715189364 844265744 602763370 857945619 544883177 847251737 423654796 623563696

请问问题出在哪了

2020/12/24 11:58
加载中...