《数组初步学习心得》
在这几个周,我们学习了数组,个人理解为数组即使多个变量,但相对于变量更容易书写,方便定义多变量,并且用数组可定义字符串,比如a[b][c]b是需要的字符串数,c是字符串中最长的一个的长度加1,因为输入字符串会自动在末尾加/0,因此需要长度加1。
当需要三个性质是比如学号,班级,成绩可以用三维数组,a[学号][学科][成绩]这样可以定义一个学生的多个学科的成绩。相当于为每个学生定义了一个专门的二维数组。或者可以定义三个数组a[i]b[i]c[i],但是这样不是一个二维数组,只能存一科成绩
数组有许许多多的排序和搜索的办法,排序中一般用sort其中(a+1,a+n)是个左闭右开区间。而搜索的办法则是二分查找。如下:
int
m=0,M=n-1,mid;
while(m<=M)
{
mid=(m+M)/2+m;
//防止数据溢出
If(x>n[mid])
m=mid+1;
else
if(x<mid)
M=mid-1;
Else
return
mid;
}
Return
-1;
二分查找可以有效地防止超时。