一维数组的定义:有int型和char型,int型可以存整数型数据,char型可以存储字符型数据。定义char型时需要注意区分字符数组和字符串数组,字符串数组比字符数组多了一个结尾符“/0”。需要注意的是:1.我们输入的数据不能越界,即输入的数据个数超过了定义的数组长度。2.下标是数组的数据个数即数组大小,数组的第一个数据的下标是0。3.定义是数组的下标不能是变量,但在引用数组时可以用整型变量。例如:int n;
初始化数组:int a[5]={0} 即给数组中所有数据赋初值为0,a[5]={1,2,3,4,5}。定义数组需要注意的是:1.下标是数组的数据个数即数组大小,数组的第一个数据的下标是0。2.定义是数组的下标不能是变量,但在引用数组时可以用整型变量。例如:int n;int a[n];就是错误的。如果数组被声明为静态存储类型或外部存储类型时,也在不显式给出初值的情况下,数组元素自动初始化为0。
二维数组的定义:int a[第一维长度][第二维长度] ,可用排列i行j列的元素表示。二维数组第二维的长度不能省略。
二维数组的初始化:
按行初始化:int a[2][2]={{1,2},{5}},int a[ ][2]={{1},{1,2}}和int a[2][2]={{1,0}{1,2}}是等价的。
按元素初始化:int a[2][2]={1,2,3,4}和a[2][2]={{1,2},{3,4}}是等价的。j
还有一个很重要的排序方法:冒泡法。
for(int i=1;i<=n-1;i++)
for(int j=1;j<=n-i;j++)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1])
}