概念
数组(Array) 是一种线性表数据结构。是有序的元素序列,用于储存多个相同类型数据的集合。
特点
数组中,通过索引(也是我们通常所说的下标)来进行访问;并且又因为数组具有连续的内存空间的特点。所以数组的特点:查询快,增删慢
数组名的特性
数组名是常量,不可以赋值
数组名是首元素地址,还是指针
数组的分类
一维数组、二维数组(矩阵)、多维数组
一维数组
初始化:定义数组时给所有元素赋初值,叫”完全初始化“;只给一部分元素赋值,叫”不完全初始化“。(没有被初始化的各个元素值为0)
数据类型:int 整型数据类型;char 字符类型; float 浮点型数据类型
数组的一些基本操作
插入元素,代码如下:
int len=5; //数组长度
int shuru(int a[]){ //键盘输入元素
int i;
for(i=0;i<len;i++){
scanf("%d",&a[i]);
}
}
int shuchu(int a[]){ //循环输出元素
int i;
for(i=0;i<len;i++){
printf("%d ",a[i]);
}
}
int charu(int a[]){ //插入元素
int xb; //定义一个你要插入位置的变量
printf("请输入要插入位置的下标:");
scanf("%d",&xb);
if(xb<0||xb>len){ //判断插入位置是否合适
printf("下标不合适!");
return 0;
}
int i;
for(i=len-1;i>=xb;i--){
a[i+1]=a[i];
}
a[xb]=90; //定义插入的元素
len++; //数组长度+1
for(i=0;i<len;i++){ //输出插入元素后的元素
printf("%d ",a[i]);
}
printf("\n");
}
删除元素,代码如下:
int shanchu(int a[]){
int xb; //定义删除位置的变量
printf("请输入要删除位置的下标:");
scanf("%d",&xb);
if(xb<0||xb>len-1){ //判断位置是否合适
printf("下标不合法!");
return 0;
}
int i;
for(i=xb+1;i<len;i++){
a[i-1]=a[i];
}
len--; //数组长度-1
for(i=0;i<len;i++){ //输出删除元素后的元素
printf("%d ",a[i]);
}
printf("\n");
}
修改元素,代码如下:
int xiugai(int a[]){
int xb;
printf("输入要修改的位置的下标:");
scanf("%d",&xb);
if(xb<0||xb>len-1){ 判断位置是否合适
printf("下标不合法!");
return 0;
}
a[xb]=10;
int i;
for(i=0;i<len;i++){
printf("%d ",a[i]);
}
printf("\n");
}
查找元素,代码如下:
int chazhao(int a[]){
int xb;
printf("请输入要查找的位置下标:");
scanf("%d",&xb);
if(xb<0||xb>len-1){
printf("下标不合法!");
return 0;
}
printf("查找的数据为:%d",a[xb]);
}
以上呢,是关于数组的一些增删改查的一些代码;咱们数组还有冒泡排序,选择排序,插入排序,希尔排序,快速排序,二分查找,分块查找的一些操作,具体知识,敬请期待下期!