#include
#include
using namespace std;
int arr[10000];
void Quick_Sort(int *arr, int begin, int end)//这个*arr和arr[]有什么关系,我对指针不是很熟悉,能详细讲一下吗
{
if(begin > end)
return;
int tmp = arr[begin];
int i = begin;
int j = end;
while(i != j)
{
while(arr[j] >= tmp && j > i)
j--;
while(arr[i] <= tmp && j > i)
i++;
if(j > i)
{
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
arr[begin] = arr[i];
arr[i] = tmp;
Quick_Sort(arr, begin, i-1);
Quick_Sort(arr, i+1, end);
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>arr[i];
}
Quick_Sort(arr, 1, n);
for(int i=1;i<=n;i++)
{
cout<[i]<<" ";
}
return 0;
}
你的代码程序是一个快速排序的例子。
这里写 int *arr和 int arr[]是一个意思。数组作为参数时,都是作为指针进行传递的