数组运算
针对数组,主要有以下三种运算形式。
插入操作
数组插入操作要求我们知道要插入元素的索引位置。
- 如果要插入的元素位于数组的末尾,可以直接通过索引插入
- 如果要插入的元素位于数组的两个元素之间,需要将插入位置之后的所有元素向后移动一位。且此操作局限于声明数组时分配的内存空间。
void insert_position(int arr[]){
int i=0,pos,num;
printf("请输入要插入的数据");
scanf("%d",&num);
printf("请输入要插入元素的位置");
scanf("%d",&pos);
for (i=n-1;i>=pos;i--){
arr[i+1]=arr[i];
}
n=n+1;
}
删除操作
这个操作操作和插入操作的类似,我们需要知道要删除元素的索引位置
- 如果要删除的元素位于数组末尾,可以通过索引直接删除
- 如果要删除的元素位于数组的两个元素之间,需要将删除位置之前的所有元素向前移动一位。
void delete_position(int arr[]){
int i,pos;
printf("输入要删除元素的位置");
scanf("%d",&pos);
for(i=pos;i<n-1;i++>){
arr[i]=arr[i+1];
}
n=n-1;
}
访问操作
数组中的元素均可以直接通过索引访问
一维数组
使用循环遍历一维数组。
void display_oneD_array(int arr[100]){
int i;
for(i=0;i<n;i++){
printf("\n arr[%d]=%d",i,arr[i]);
}
}
多维数组
使用嵌套循环访问数组元素
void display_twoD_array(int arr[100][100]){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("arr[%d][%d]=%d,i,j,arr[i][j]);
}
printf("\n");
}
}
更多内容,欢迎关注:
