数组的定义
如果有一堆数据需要处理,在程序中可能需要定义很多的变量,这样可以定义一个数组,相当于a1,a2.....,an,这样就可以定义很多的数,进行同种类型数的处理,数组可以分为一维数组,二维数组,多维数组
一维数组:
可以想象成一个单坐标轴,不同的点是一个存储单元,你可以存储信息,可以是数或字符,可以进行大量的数据处理,免于定义的麻烦,其基本内容为:a[100] ,比如它,其中100意思是该数组含有100个数,分布a[0]--a[99】 因为含有第0项,因此不存在a[100],所以一般要根据题目进行增添,比如说题目要求小于100,则可以设a[110],这样可以保证数组正常使用,不会让数组越界,数组越界是一种常见难以发现的问题,因此在定义时需要额外小心。
二维数组:
二维数组可以想象成一个x,y坐标轴,将问题转换成二维数组更加容易解决,一般把二维数组的两个括号分成长和宽,这样可以让定义的数据更明确,其定义形式为:a[100][100] 其中包含了100*100=10000个数,同一维数组一样它是从(0,0)到(99,99)没有100为下标的二维数组,在定义二维数组时如果在主函数里面定义,它会被随机赋予初值,且定义的两个数不宜过大,防止因数目过大引起无法编译,或程序无法运行,如果定义在主函数的外面,则其初值会被定义为0,且可以定义成一个较大的数组。
多维数组:
在这里介绍一下三维数组,三维数组可以想象为立体,可以处理一些空间上的图像,基本的信息同上面相同,在主函数内不能定义过大的数,。
三维数组常见的用法
1.冒泡排序:
冒泡排序基本流程为:第一轮先是第一项与第二项,第二项和第三项....第n-1项与n比较,将大的一项排在后面的一项,这样就保证了最大一项可以到达最后,第二轮在挑出第二大的数,将其放在倒数第二位,这样一项项的将相对最大值挑出来,就完成了从小到大的排序,这种方法就是冒泡排序。
2.选择法排序:
其基本思想与冒泡排序相同,不过更为直接,它是直接将最小或最大的值挑出来放在最前面,这样完成从小到大或者是从大到小的排序
3.sort函数,sort函数是一个给数组排序的通用方法,其中sort函数要使用algorithm头文件,其基本形式为:
sort(a,a+5);即为a[0]--a[4]从小到大的排序,倘若要从大到小则方式为:sort(a,a+5,complare);
sort函数中的a是数组,5是结束时的下标。
在数组的题目中,通常会有一些要求对数据进行位置变动的,要分清楚数据的类型怎样更好的进行处理,以及一些简单变维的方法,在有些题目中要充分展现出来。