使用C++的快速排序错误
quick sort error using C++
这个程序给我错误消息。我不知道是什么原因导致了这个错误,你能帮我吗?
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");
}
input
被声明为整数,但您试图访问input[(i+j)/2]
Input应该是指向输入数组头的指针,函数头应该声明它为指针或数组。
void quicksort(int* input,int left,int right)
您使用input
作为数组,而它是int
。你可能忘了放[]
:
void quicksort(int input[],int left,int right)
^^
此外,您还有一些拼写错误,例如o
而不是0
,一个多余的}
和。。。
这是一个实时工作代码
相关文章:
- C++运行时错误与快速排序算法抛出堆栈转储错误
- 使用快速排序对 C++ 中的可视化工具错误进行排序
- 并行快速排序分区中的隔离错误
- 快速排序;分段错误,但找不到位置?
- 在最坏的情况下试验快速排序.它运行良好,但在最坏的情况下发生未知错误.我想
- C++ 快速排序错误
- 快速排序中的交换函数给出错误的输出
- 快速排序算法,一些特定输入序列的错误答案和分段错误
- 在快速排序程序中有错误
- 为什么我在快速排序时遇到分段错误
- C++:在模板快速排序功能中接收"couldn't deduce template parameter"错误
- 快速排序不起作用(分段错误)
- 使用C++的快速排序错误
- 错误的线程访问/seg故障快速排序
- 分区出现快速排序逻辑错误
- c++快速排序算法中500000排序整数数组的Seg错误
- 使用类在 C++ 中快速排序错误
- 递归快速排序导致分段错误(不是溢出)
- 快速排序是赛格错误
- 在程序中找不到错误(快速排序实现)