首页 > 代码库 > 数组杂谈
数组杂谈
1、声明一个数列
int a[3]={1,2,3};
int a[]={1,2,3};
char city[]={‘a‘,‘b‘,‘c‘};
char city[]="abc";
2、处理数列
for(int i=0; i < size; i++)
{}
3、传递数列
传递数列给函数参数,实际上传递的是数列第一个元素的地址,属于引用传递,pass-by-reference。
void p(const int list[], int array_size) //声明为const的数列,在函数里面不可以进行modification。
int main()
{
const int SIZE = 4;
int number[] = {1,2,3,4};
p(number, SIZE);
}
Note:因为数组传递是引用传递,所以在函数里面所有的修改都对直接作用于原数组,这也是我们用const的原因。
4、linear search & binary search
int binarySearch(int list[], int key, int size)
{
int low = 0, high = size-1;
while(low <= high)
{
int mid = (low + high)/2;
if (key < list[mid])
high = mid-1;
else if (key > list[mid])
low = mid+1;
else
return mid;
}
return -1;
}
5.返回一个数组
这是不可能,我们把这个要返回的新数组放在参数里面进行传递,在main函数里面新建一个新数组用来接受。