0
我在做QuickSort,但我得到bad_alloc()error.Sometimes代碼運行完美,但有一次我得到錯誤。該程序運行完美,做排序的權利,但只有當它運行,但s 4次,這是給我錯誤的_alloc錯誤。 所以有什麼問題???????在QuickSort壞分配
#include <iostream>
using namespace std;
void quicksort(int *a,int,int);
int main()
{
int i,j,*a;
a = new int[j];
cout<<"Enter the total element:";
cin>>j;
for(i=0;i<j;i++){
cout<<"Enter element:";cin>>a[i];
}
quicksort(a,0,j-1);
cout<<"After sorting."<<endl;
for(i=0;i<j;i++){
cout<<a[i]<<endl;
}
return 0;
}
void quicksort(int *a,int u,int d){
int key = a[u];
int upper = u;
int lower = d;
while(key>a[u] && u<lower){
u++;
}
while(key<a[d] && d>upper){
d--;
}
if(u<d){
swap(a[u],a[d]);
quicksort(a,upper,lower);
}
if(u>=d){
swap(key,a[d]);
if(upper!=d)
{
quicksort(a,upper,d-1);
}
if(d!=lower)
{
quicksort(a,d+1,lower);
}
}
}
此時'j'未初始化爲一個不確定的值。 – 1201ProgramAlarm