案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序
例如数组:int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
#include<bits/stdc++.h>
using namespace std;
void bubbleSort(int * arr, int len){//冒泡排序 int * arr和int arr[]都行
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {//len=i+j
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void printarr(int * arr,int len) {//输出打印
for (int i = 0; i < len; i++) {
cout << arr[i] << endl;
}
}
int main() {
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
int len = sizeof(arr) / sizeof(arr[0]);//整个数组所占内存除以一个元素所占内存等于元素个数
bubbleSort(arr, len);//调用函数时使用数组名,无需[]
printarr(arr, len);
system("pause");
return 0;
}
总结:当数组名传入到函数作为参数时,被退化为指向首元素的指针