1.c++不能返回具体的数组,只能返回数组的首地址
2.c++形参传入数组指针时,需要传入数组的长度
#include <iostream>
using namespace std;
int* getSortedArray(int *array,int length);//函数声明,排序后返回数组
bool sortedOK(int *array,int length);//检查数组是否完成排序
int main(){
int array[]={2,8,6,9,3};//声明并赋值
getSortedArray(array,5);//排序,从小到大排序
//循环打印出排好序的数组
for(int i=0;i<sizeof(array)/sizeof(array[0]);i++)
{
cout <<array[i] <<endl;
}
return 0;
}
int* getSortedArray(int *array,int length)
{
int length_array=sizeof(array)/sizeof(array[0]);
bool ok=false;
while(!ok)
{
for(int i=0;i<length-1;i++)
{
if(array[i]>array[i+1])
{
int a=array[i];
array[i]=array[i+1];
array[i+1]=a;
}
}
ok=sortedOK(array,5);
}
return array;
}
bool sortedOK(int *array,int length)
{
for(int i=0;i<length-1;i++)
{
if(array[i]>array[i+1])
{
return false;
}
}
return true;
}
打印结果
2
3
6
8
9