当前位置: 首页 > news >正文

day02 1.c++对c的扩充

#include <iostream>using namespace std;//类型重命名
using datatype = int;     //typedef int datatype;
#define MAX 30struct  SeqList
{private:// datatype data[MAX] = {0};                //顺序表的数组datatype *data;                //顺序表的数组int size = 0;                      //数组的大小int len = 0;                     //顺序表实际长度public://初始化函数void init(int s){size = s;            //当前数组的最大容量data = new datatype(size);      //在堆区申请一个顺序表容器}//要实现的函数//判空函数bool empty();//判满函数bool full();//添加数据函数bool add(datatype e);//求当前顺序表的实际长度int length();//任意位置插入函数bool insert_pos(int pos, datatype e);//任意位置删除函数bool delete_pos(int pos);//访问容器中任意一个元素 atdatatype &at(int index);void show();//君子函数:二倍扩容void expend();
};int main()
{SeqList p1;p1.add(1);p1.add(3);p1.add(5);p1.add(7);p1.add(9);p1.show();cout << p1.length() <<endl;p1.insert_pos(2,10);p1.insert_pos(1,10);p1.insert_pos(8,10);p1.delete_pos(1);p1.delete_pos(7);p1.delete_pos(5);p1.at(7);return 0;}//判空函数
bool SeqList :: empty()
{return len == 0;
}//判满函数
bool SeqList :: full()
{return len >= MAX;
}//添加数据函数
bool SeqList :: add(datatype e)
{if(full()){return false;}data[len] = e;len++;return true;
}//求当前顺序表的实际长度
int SeqList :: length()
{return len;
}//任意位置插入函数
bool SeqList :: insert_pos(int pos, datatype e)
{if(full() || pos<0 || pos>len+1){return false;}if(pos == len+1 ){data[len] = e;}else{for(int i=len;i>=pos-1;i--){data[i] = data[i-1];}data[pos-1] = e;}len++;show();return true;
}//任意位置删除函数
bool SeqList :: delete_pos(int pos)
{if(empty() || pos<1 || pos>len){return false;}for(int i=pos;i<len;i++){data[i-1] = data[i];}len--;show();return true;
}void SeqList :: show()
{for(int i=0;i<len;i++){cout << data[i] << " ";}cout <<endl;
}//访问容器中任意一个元素 at
datatype &SeqList :: at(int index)
{return data[index];
}//君子函数:二倍扩容
void SeqList :: expend()
{}


http://www.mrgr.cn/news/15413.html

相关文章:

  • 【ShuQiHere】微调与训练恢复:理解 `load_weights` 和 `save_model` 的实用方法
  • 【Linux入门】shell基础篇——数组
  • glance学习小结
  • 在Ubuntu24.04上安装多主多从的高可用Kubernetes节点
  • 掌握Nginx负载均衡中的请求缓存处理:策略与实现
  • 轻松掌握 ViewPager2:打造流畅的页面切换体验
  • 基于PHP+MySQL组合开发的微信投票小程序 带完整的安装代码包以及搭建教程
  • 【推荐】Linux 推荐软件
  • 【iOS】iOS中简单的网络请求
  • LIN诊断(4)——Tp层函数LINtp.dll应用
  • 探索Edge-TTS与WebSocket集成:打造实时语音交互系统
  • 如何根据oom的信息找到对应的POD
  • 深入解析Nginx负载均衡中的`down`指令及其应用
  • three.js 着色器学习 聚集地
  • Django缓存设置
  • 【PHP小课堂】PHP中的数组函数学习(五)
  • 1.Docker初探 —— 走进集装箱的世界
  • 微知-如何查看linux网口的收包队列/channel个数?ethtool -l eth0
  • c++ string类的简单模拟实现
  • PHP语言有哪些优势和特点?