关于数组的几种常见形式

今天,我们来说顺序表,也就是我们口中的数组,今天不提及太多的理论知识,直接上代码!

输入元素

void input(int arr[],int len){
//定义循环变量
    int i;
    int *p=arr;
    for(i=0;i<len;i++){
        printf("请输入第%d个元素",i+1);
        scanf("%d",&arr[i]);
    }
}

输出元素

void output(int arr[],int len){
    //定义循环变量
    int i;
    int *p=arr;
    for(i=0;i<len;i++){
        printf("%d",arr[i]);
    }
}

查询元素

//根据元素的值去找
int fun(int arr[],int len,int value){
    int i;
    for(i=0;i<len;i++){
        if(value==arr[i]){
            return i;
        }
    }
    return -1;
}
//根据下标 查找元素
int fun(int arr[],int len,int key){
//判断 位置 是否在数组范围之内
    if(key<0||key>len-1){
        printf("位置不对");
        return;
    }
    printf("查找的元素是:%d\n",arr[key]);
}

动态生成数组

int * getArray(){
    int i,*p,num;//p指向 动态数组的首地址
    printf("请输入你要生成的数组长度是:");
    scanf("%d",&num);
    p=(int *)malloc(sizeof(int)*num);
    if(p==NULL){
        printf("空间申请失败");
        return;
    }
    return p;
}

修改元素

void fun(int arr[],int len,int value){
    int first,last,i;
    printf("请输入你要修改的元素:");
    scanf("%d",&first);
    printf("请输入你要修改后的元素:");
    scanf("%d",&last);
    for(i=0;i<len;i++){
        if(arr[i]==first){
            arr[i]=last;
        }
    }
}
//根据位置修改
void fun(int arr[],int len){
    int key;
    printf("请输入要修改的位置:");
    scanf("%d",&key);
    if(key<0||key>len-1){
        printf("位置不对");
        return;
    }
    arr[key]=value;
}

插入元素

void fun(int a[],int len,int value){
    int i,t;
    if(index<0||index>len-1){
        return;
    }
    for(i=len-1;i>=index;i--){
        a[i+1]=a[i];
    }
    a[index]=value;
    (*len)++;
}

删除元素

void fun(int a[],int* len,int index){
    int i;
    if(index<0||index>*len-1){
        return;
    }
    for(i=index;i<len-1;i++){
        a[i]=a[i+1];
    }
    (*len)--;
}

感谢大家观看指导!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值