• 删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e


    原创:转载请注明出处。

    【天勤2-2】删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e

    代码:

    //删除顺序表L中下标为p(0<=p<=length-1)的元素,
    //成功返回1,不成功返回0,并将删除元素的值赋给e
    #include<stdio.h>
    #include<cstring>
    #define MaxSize 200
    #define ElemType int
    #define Status int
    #define OK 1
    #define ERROR 0
    using namespace std;
    
    typedef struct
    {
        ElemType data[MaxSize];
        int length;
    } SqList; //定义结构体
    
    Status initList(SqList *L)
    {
        L->length = 0;
        return 0;
    }//初始化顺序表
    
    SqList createList(SqList * L, int n)
    {
        int startNumber, step;
        printf("请输入初始值和步长:
    ");
        scanf("%d %d", &startNumber, &step);
        for(int i=0; i<n; i++)
        {
            L->data[i] = startNumber + (i)*step;
        }
        L->length = n;
        return *L;
    }//建造顺序表
    
    void showList(SqList *L)
    {
        for(int i=0; i<=L->length-1; i++)
        {
            printf("%d ", L->data[i]);
        }
        printf("
    
    
    ");
    }//屏幕输出顺序表
    
    
    bool deleteElem(SqList *L, int p, int &e){
        if(p > L->length-1)return 0;
        if(p < 0)return 0;
        else{
            e=L->data[p];//把e赋过去
            for(int i=p; i < L->length-1; i++){
                L->data[i] = L->data[i+1];
            }
            L->length--;
            return 1;
        }
    }
    
    int main()
    {
    
        SqList L;
        initList(&L);
        int n;
        printf("输入顺序表的元素个数:
    ");
        scanf("%d",&n);
        createList(&L,n);
        showList(&L);
        printf("输入准备删除元素的下标:
    ");
        int p;
        ElemType e;
        scanf("%d", &p);
        deleteElem(&L, p, e);
        showList(&L);
        printf("e的值为%d.
    ", e);
        return 0;
    }

    结果如下:

  • 相关阅读:
    2020系统综合实践 第6次实践作业
    2020系统综合实践 第5次实践作业
    2020系统综合实践 第4次实践作业
    2020系统综合实践 第3次实践作业
    2020系统综合实践 第2次实践作业
    2020系统综合实践 第1次实践作业
    2019 SDN大作业
    2019 SDN上机第7次作业
    软工实践个人总结
    第03组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/yangf428/p/11258100.html
Copyright © 2020-2023  润新知