c++ 写数据结构(顺序表)

代码示例

#include <iostream>
using namespace std;

#define MAX 10


//创建一个顺序表类
class sqList
{
public:
    sqList();    //构造函数  初始化
    ~sqList();  //析构函数  销毁
   // void CreateSqList(int n);  //创建一个空的顺序表
    bool InsertSqList(int post, int data); //向顺序表中添加元素
    void TraverseSqList();                   //打印顺序表元素
    bool isFull();              //判断顺序表是否已满
private:
    int *head;     //顺序表的基地址
    int length;    //顺序表长度
    int last;      //顺序表最后一个元素下标
};
//初始化顺序表
sqList::sqList()
{
    head = new int[MAX];
    if (!head)
    {
        exit(1);
    }
    length = 0;
    last = -1;
    cout << "构造ok" << endl;     
}
//销毁顺序表
sqList::~sqList()
{
    delete[] head; 
    cout << "析构ok" << endl; 
}

//判断顺序表是否已满
bool sqList::isFull()
{
    return length == MAX; 
}

//向顺序表中添加元素
bool sqList::InsertSqList(int post, int data)
 {
    if(isFull()||post < 0||post > MAX)
    {
        printf("post error\n");
        return false;
    }

    //最开始没有元素条件不满足跳过,直接赋值
    //尾插条件不满足,直接赋值
    for(int i = last;i >= post; i--)
    {
        head[i+1] = head[i];
    }
    head[post] = data;
    last++;
    length++;
 }

void sqList::TraverseSqList()
{
    for(int i = 0; i <= last; i++)
    {
        cout <<i <<" "<<head[i] <<endl;
    }
}

int main()
{
    sqList l;
    l.InsertSqList(0, 1);
    l.TraverseSqList();

    return 0;
}

输出结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<( ̄︶ ̄)Okay.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值