前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构 c++实现顺序表的基本操作/初始化/输入/输出/插入/删除

数据结构 c++实现顺序表的基本操作/初始化/输入/输出/插入/删除

作者头像
用户7886150
修改2021-02-03 10:40:35
1.9K0
修改2021-02-03 10:40:35
举报
文章被收录于专栏:bit哲学院

参考链接: C++基本输入/输出

#include <iostream>

    using namespace std;

    #define Maxsize 15

    using namespace std;

    typedef int DataType;

    typedef struct{

        DataType data[Maxsize];   //建立一维数组

        int SeqLength;    //线性表长度

    }SeqList;

    //初始化顺序表

    SeqList *Init_SeqList();

    //插入顺序表的内容

    void Define_SeqList(SeqList *L,int n);

    //取出顺序表中的元素

    void DisPlay_SeqLIst(SeqList *L);

    //添加元素到指定的位置

    int InSert_SeqList(SeqList *L,int i,DataType x);

    //删除指定位置元素

    int Delete_SeqList(SeqList *L, int i);

    //顺序化初始化算法并清空表

    SeqList *Init_SeqList()

    {

        SeqList *L;

        L=new SeqList;

        L->SeqLength=0;  //长度设置为-1

        return L;

    }

    //给顺序表插入元素内容

    void Define_SeqList(SeqList *L,int n)

    {

        cout<<"请依次输入顺序表要存储的元素"<<endl;

        for(int i=0;i<n;i++)

        {

            cin>>L->data[i];    //输入数组元素

            L->SeqLength++;

        }

    }

    //取出顺序表元素内容

    void DisPlay_SeqLIst(SeqList *L)

    {

        int i;

        for(i=0;i<=L->SeqLength-1;i++)

        {

            cout<<L->data[i]<<" ";

        }

        cout<<endl;

    }

    //添加元素到某个位置

    int InSert_SeqList(SeqList *L,int i,DataType x)

    {

        cout<<"把元素"<<x<<"位置上"<<endl;

        if (i < 1 || i > L->SeqLength + 1) // 判断是否插错

        {

            cout<<"插入位置错误"<<endl;

            return 0;

        }

        if (L->SeqLength == Maxsize-1)     //数组长度设定为-1 表满

        {

            cout<<"表满"<<endl;

            return -1;

        }

        for(int j = L-> SeqLength - 1; j>=1; j--)  //i之后全部往后移

        {

         L->data[j+1]=L->data[j];

        }

        L->data[i-1] = x;                   //插入

        L->SeqLength++;

        cout<<"插入成功"<<endl;

        DisPlay_SeqLIst(L);

        return 1;

    }

    //删除操作

    int Delete_SeqList(SeqList *L, int i)

    {

        cout<<"将位置"<<i<<"的元素删除"<<endl;

        int j;

        if(i<1||i<L->SeqLength-1)

        {

            cout<<"不存在第"<<i<<"个元素"<<endl;

            return 0;

        }

        for(j=i;j<L->SeqLength-1;j++)

        {

            L->data[j]=L->SeqLength-1;

        }

        L->SeqLength--;

        cout<<"删除成功"<<endl;

        DisPlay_SeqLIst(L);

        return 1;

    }

    int main()

    {

        SeqList *L;  //顺序表定义

        L=Init_SeqList();  //顺序表初始化

        Define_SeqList(L,6); //定义顺序表

        DisPlay_SeqLIst(L);  //顺序表的输出

        InSert_SeqList(L,4,3); //顺序表的插入

        Delete_SeqList(L,5);  //顺序表删除

        return 0;

    }

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档