问题遇到的现象和发生背景
快速排序
问题相关代码,请勿粘贴截图
```c++
//快速排序
#include<iostream>
#include<cstdio>
using namespace std;
int partition(int arr[],int p,int r){//分割扫描
int pivot=arr[p];
int sp=p+1; //扫描指针
int bigger=r; //右侧固定指针
while(sp<=bigger){
if(arr[sp]<=pivot){
sp++;
}else {
swap(arr[sp],arr[bigger]);
bigger--;
}
}
swap(arr[p],arr[bigger]);
return bigger;
}
void quicksort(int arr[],int p,int r)//快速排序 递归
{
if(p<r)
{
int q=partition(arr,p,r);
partition(arr,p,q-1);
partition(arr,q+1,r);
}
}
int main()
{
int arr[]={9,15,27,11,100};
int len=sizeof(arr)/sizeof(arr[0]);
quicksort(arr,0,len-1);
for(int i=0;i<len;i++){
printf("%d,",arr[i]);
}
return 0;
}
```
运行结果及报错内容
他会把9替换成0???
结果是0.5.11.27.100