首页 > 代码库 > 数组杂谈

数组杂谈

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函数里面新建一个新数组用来接受。