C++ 使用C+的快速排序错误+;

C++ 使用C+的快速排序错误+;,c++,quicksort,C++,Quicksort,该程序正在向我发送错误消息。我不知道是什么导致了这个错误,你能帮我吗 error C2109: "subscript requires array or pointer type " 这是密码 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)

该程序正在向我发送错误消息。我不知道是什么导致了这个错误,你能帮我吗

error C2109: "subscript requires array or pointer type "
这是密码

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");
void快速排序(int输入、int左、int右)
{ 
int i=left,j=right;//初始化左极限和右极限
int pivot=输入[(i+j)/2];
而(ip)将向左移动
{j--;}

如果(i您使用的是
input
作为数组,而它是
int
。您可能忘记了将
[]

void quicksort(int input[],int left,int right)
                        ^^
此外,您还有一些输入错误,例如
o
而不是
0
,一个冗余的
}


输入
声明为整数,但您尝试访问
输入[(i+j)/2]
输入应是指向输入数组头的指针,函数头应声明为指针或数组

void quicksort(int* input,int left,int right)

你为什么不告诉我们哪一行有错误?我们不是通灵者。多谢先生,我犯了一个大错误:)愿上帝保佑我再多问一个问题plzzzz“我怎么知道我的快速排序数组中没有进行过比较和交换plz帮助plz最简单的方法是放置标志。另一种方法是检查数组之前是否排序过。