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

0828作业+梳理

一、作业

代码:

#include <iostream>using namespace std;using datatype = int; //类型重命名
#define MAX 2        //宏定义
//结构体定义
struct Sqlist
{
private:datatype *data;       //顺序表数组int size = 0;         //数组大小int len = 0;          //数组实际长度
public://初始化函数void init(int s){size = s;                      //当前数组的最大容量data = new datatype(size);     //在堆区申请一个顺序表容量为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){return data[index-1];}//展示数组所有内容void output(){cout<<"顺序表中数组如下:"<<endl;for(int i=0;i<len;i++){cout<<data[i]<<"    ";}cout<<endl;}//二倍扩容void expend();
};
/*****************定义结构体内公共函数******************/
int Sqlist::length()
{return len;
}
bool Sqlist::empty()
{int llen = length();if(llen==0){cout<<"顺序表为空"<<endl;return 1;}return 0;
}
bool Sqlist::full()
{int llen = length();if(llen==size){cout<<"顺序表已满"<<endl;return  1;}return 0;
}
bool Sqlist::add(datatype e)
{//判满if(full()==1){expend();}//加入数据data[len] = e;len++;return 1;
}
bool Sqlist::insert_pos(int pos, datatype e)
{//加入数据if(add(e)==1){//把数据放入指定位置for(int i=len-1;i>=pos;i--){data[i+1] = data[i];}data[pos] = data[len];cout<<"数据添加成功"<<endl;return 1;}cout<<"添加失败"<<endl;return  0;
}
bool Sqlist::delete_pos(int pos)
{//判空if(empty()==1){cout<<"顺序表数组已空不能再删除了"<<endl;return 0;}//删除指定位置数据for(int i=pos+1;i<len;i++){data[i-1] = data[i];}len--;cout<<"数据删除成功"<<endl;return 1;
}void Sqlist::expend()
{//判满if(full()==0){return;}//初始化一个新堆区空间int new_size = 2*size;init(new_size);cout<<"扩容成功"<<endl;
}/*******************主程序*************************/
int main()
{Sqlist s1;        //定义一个结构体变量s1.init(MAX);     //初始化//插入数据while(1){int pos;datatype e;cout<<"请输入要放入的数据和位置"<<endl;cin>>e>>pos;//退出插入条件if(pos == -1){break;}s1.insert_pos(pos,e);}//删除数据while(1){int pos;cout<<"请输入要删除的数据位置"<<endl;cin>>pos;//退出删除条件if(pos == -1){break;}s1.delete_pos(pos);}//展示顺序表内容s1.output();return 0;
}

运行结果:

二、思维导图


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

相关文章:

  • 【图像去噪】论文复现:代替ReLU!Pytorch实现即插即用激活函数模块xUnit,并插入到DnCNN中实现xDnCNN!
  • C++day2
  • Lottie动画
  • 【Material-UI】深入了解Radio Group中的useRadioGroup Hook
  • Markdown 美化 Github 个人主页
  • 使用Python 访问Neo4J 数据库
  • mp总结 mybatisPlus
  • 07 - procfs
  • 【线程池】
  • 【计算机网络】计算机网络的性能指标
  • 算法笔试-编程练习-H-02-24
  • 愿遗忘与你同在:使用 Noisy Labels 学习的替代重播
  • 基于SSM+小程序的旅游社交登录管理系统(旅游4)(源码+sql脚本+视频导入教程+文档)
  • 【开端】 进行页面升级或维护时不影响用户体验NGINX配置
  • 常量指针与指针常量
  • 【深入解析】最优控制中的Bellman方程——从决策到最优路径的探索
  • Qt_两种创建组件的方式-通过图形化-通过代码
  • [HZNUCTF 2023 preliminary]flask
  • Linux -- git
  • C++ | Leetcode C++题解之第377题组合总和IV