关于数组的一些热知识

  • 概念

数组(Array) 是一种线性表数据结构。是有序的元素序列,用于储存多个相同类型数据的集合。

  • 特点

数组中,通过索引(也是我们通常所说的下标)来进行访问;并且又因为数组具有连续的内存空间的特点。所以数组的特点:查询快,增删慢

  • 数组名的特性

  1. 数组名是常量,不可以赋值

  1. 数组名是首元素地址,还是指针

  • 数组的分类

一维数组、二维数组(矩阵)、多维数组

  • 一维数组

  1. 初始化:定义数组时给所有元素赋初值,叫”完全初始化“;只给一部分元素赋值,叫”不完全初始化“。(没有被初始化的各个元素值为0)

  1. 数据类型:int 整型数据类型;char 字符类型; float 浮点型数据类型

  • 数组的一些基本操作

  1. 插入元素,代码如下:
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");
}
  1. 删除元素,代码如下:
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");
}
  1. 修改元素,代码如下:
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");
}
  1. 查找元素,代码如下:
int chazhao(int a[]){
    int xb;
    printf("请输入要查找的位置下标:");
    scanf("%d",&xb);
    if(xb<0||xb>len-1){
        printf("下标不合法!");
        return 0;
    }
    printf("查找的数据为:%d",a[xb]);
}

以上呢,是关于数组的一些增删改查的一些代码;咱们数组还有冒泡排序,选择排序,插入排序,希尔排序,快速排序,二分查找,分块查找的一些操作,具体知识,敬请期待下期!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值