要求封装一个函数,用冒泡排序对整形数组进行排序。
我们如何在函数中加入数组,我们知道数组的名字就是数组的首地址所以我们的变量是指针,把实参用指针代入形参。
在函数中只能调用数组的首地址,我们是无法在函数中算出数组的长度的,所以在我们输入变量的时候就要把数组的长度也输入进去
#include<iostream>
#include<algorithm>
using namespace std;
void paixu(int* p, int a)//我们如何在函数中加入数组,我们知道数组的名字就是数组的首地址所以我们的变量是指针
{
for (int i = 0;i < a - 1;i++){
for (int x = 0;x < a - i - 1;x++) {
if (p[x] > p[x + 1]) {
int temp = 0;
temp = p[x + 1];
p[x + 1] = p[x];
p[x] = temp;
}
}
}
}
//在函数中只能调用数组的首地址,我们是不知道具体这个数组的长度的,所以在我们输入变量的时候就要把数组的长度也输入进去
void shuchu(int* p, int a) {
for (int i = 0;i < a;i++) {
cout << p[i] << " ";
}
}
int main() {
int niub[7] = { 42,36,78,22,51,16,57 };
int d = sizeof(niub) / sizeof(niub[0]);
paixu(niub, d);
shuchu(niub, d);
return 0;
}