问题:创建一个包含 10 个整数的数组。使用初始化程序用 {10,5,8,55,43,87,42,12,25,7} 填充数组数据。编写一个排序函数 sortArray 将调用一个交换函数。交换函数将按值调用。重写另一个将调用 swapByRef 函数的排序函数 sortArray2。
我的代码:
void swap (int x, int y)
{
int temp = x;
x = y;
y = temp;
}
void sortArray (int A[], int n)
{
int i,j,minIndex,temp;
for (i=0 ; i<n-1 ; i++)
{
minIndex = i;
for (j=i+1 ; j<n ; j++)
if (A[j] < A[minIndex])
minIndex = j;
swap (A[i],A[minIndex]);
}
}
void swapByRef (int &x, int &y)
{
int temp = x;
x = y;
y = temp;
}
void sortArray2 (int A[], int n)
{
int i,j,minIndex;
for (i=0 ; i<n-1 ; i++)
{
minIndex = i;
for (j=i+1 ; j<n ; j++)
if (A[j] < A[minIndex])
minIndex = j;
swapByRef (A[i], A[minIndex]);
}
}
int main ()
{
int A[10] = {10,5,8,55,43,87,42,12,25,7};
sortArray (A,10);
for (int i=0;i<10;i++)
cout<<A[i]<<endl;
int B[10] = {10,5,8,55,43,87,42,12,25,7};
sortArray2 (B,10);
for (int i=0;i<10;i++)
cout<<A[i]<<endl;
system ("PAUSE");
return 0;
}
sortArray 不对数组进行排序。我该如何编写这段代码?