7.7 指针、数组与函数的案例
#include<iostream>
using namespace std;
void bubblesort(int* arr, int len)
{
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void printarray(int* arr, int len)
{
for (int i = 0; i < len; i++)
{
cout << arr[i] << '\t';
}
cout << endl;
}
int main()
{
//数组排序
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
int len = sizeof(arr) / sizeof(arr[0]);
printarray(arr, len);
bubblesort(arr, len);
printarray(arr, len);
system("pause");
return 0;
}
程序中定义了一个bubblesort排序函数和一个printarray打印函数。
由于bubblesort函数时地址传递,故排序是对数组本身排序。