• 实现函数功能对数组元素进行插入、删除、查询操作


    #include<stdio.h>
    #define MAX 100
    int insert(int a[],int n,int i,int x)
    {
        int j;
        if(n+1>MAX)
            printf("无插入空间 ");      //数组仅仅能存MAX个数
        else if(i<1||i>n+1)
            printf("插入位置非法 "); //插入位置的范围为1..n+1
        else
        {
            for(j=n-1;j>i-2;j--)
                a[j+1]=a[j];    //将数组中i位置及其后面的数,依次向后移动一格
            a[i-1]=x;           //在i位置插入x
            n++;       
        }
        return n;         //返回当前数组大小
    }
    int del(int a[],int n,int i)
    {
        int j;
        if(i<1||i>n)
            printf("删除位置非法 ");
        else
        {
            for(j=i-1;j<n-1;j++)
                a[j] = a[j+1];
            n--;
        }
        return n;
    }
    int search(int a[],int n,int x)
    {
        int i;
        for(i=0;i<n;i++)
        {
            if(a[i]==x)
                return i+1;
        }
        return -1;
    }
    void printArray(int a[],int n)
    {
        int i;
        for(i=0;;i++)
        {
            if(i==n-1)
            {
                printf("%d ",a[i]);
                break;
            }
            printf("%d ",a[i]);
        }
    }
    void main()
    {
        int n,i,a[MAX];
        int index,x;
        printf("输入数组中的元素个数 ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        printf("请输入要插入的位置和插入的数 ");
        scanf("%d %d",&index,&x);  
        n = insert(a,n,index,x);
        printArray(a,n);
        printf("请输入要删除元素的位置 ");
        scanf("%d",&index);
        n = del(a,n,index);
        printArray(a,n);
        printf("请输入要查询的元素 ");
        scanf("%d",&x);
        i = search(a,n,x);
        if(i!=-1)
            printf("%d的位置:%d ",x,i);
        else
            printf("未找到%d ",x);
    }
  • 相关阅读:
    49 我素故我在
    91 棋盘游戏
    55 删除数组重复元素
    54 删除数组元素
    C++虚函数, 纯虚函数
    iOS-OC-多态
    C++函数引用形参和非引用形参
    怎么清理Mac 硬盘里的其他
    Vue.js中this.$nextTick()的使用
    data中有嵌套,取值要链式取
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6697433.html
Copyright © 2020-2023  润新知