該程序給我錯誤信息。我不知道是什麼原因導致這個錯誤,你會幫助我嗎?使用C++快速排序錯誤
error C2109: "subscript requires array or pointer type "
這裏是您使用input
作爲一個數組,而這是一個int
代碼
void quicksort(int input,int left,int right)
{
int i=left,j=right; // initailizing left and right limit
int pivot = input[(i+j)/2];
while (i<=j)
{
while (input[i]<pivot)
{ i++; }
while (input[j]>pivot) // if right side limit is greater than pivot, >p will move to left
{ j--; }
if (i<=j) // when left limit less than right limit swap value
{
swap(input[i],input[j]);
i++;
j--;
} // end if
} // end of while
if (left<j)
quicksort(input,left,j);
if (i<right)
quicksort(input,i,right);
}
int main() {
int input[10]={3,7,2,1,99,10,15,74,11,31};
}
quicksort(input,left,right); //calling function in main
cout<<"the sorted numbers are:\n"; // showing sorted array
for(int a=o;a<10;a++)
{
cout<<setw (4)<<input[a]<<endl;
}
system ("pause");
}
你爲什麼不告訴我們哪一行有錯誤?我們不是心靈的。 –
ty很多先生 – user3079249