2024.8.28 作业

2024-08-28 20:44
文章标签 2024.8 28 作业

本文主要是介绍2024.8.28 作业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用C++手动封装一个顺序表,包含成员数组一个,成员变量N个

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

思维导图

这篇关于2024.8.28 作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115834

相关文章

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

GIS图形库更新2024.8.4-9.9

更多精彩内容请访问 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信:digital_twin123 Cesium 本期发布了1.121 版本。重大新闻,Cesium被Bentley收购。 ✨ 功能和改进 默认启用 MSAA,采样 4 次。若要关闭 MSAA,则可以设置scene.msaaSamples = 1。但是通过比较,发现并没有多大改善。

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

Java高级Day38-网络编程作业

112.网络编程作业 //1.使用字符流的方式,编写一个客户端程序和服务器端程序//2.客户端发送"name",服务器端接收到后,返回"我是nova"//3.客户端发送"hobby",服务器端接收到后,返回"编写java程序"//4.不是这两个问题,回复"你说啥呢"​​===============//客户端//===============public class SocketT

0906作业+思维导图梳理

一、作业: 1、创捷一个类似于qq登录的界面 1)源代码 #include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget){ui->setupUi(this);//QPushbutton:登录、退出this->join = new QP

【抽代复习笔记】28-群(二十二):四道子群例题

例1:证明,循环群的子群是循环群。 证:设G = (a),H ≤ G。 (1)若H = {e},则H是一阶循环群; (2)设H至少包含2个元素,即设H = {...,a^(-k),a^(-j),a^(-i),a^0,a^i,a^j,a^k,...}, 其中a^i是H中正指数最小的元素,0<i<j<k, 下证a^i是H的生成元: 对任意的a^t∈H(t∈Z),存在q∈Z,使得t = qi

2024.9.6 作业

1> 手写unique_ptr指针指针 #include <iostream>using namespace std;template <typename T>class my_unique_ptr{public:explicit my_unique_ptr(T *p = nullptr) noexcept // 构造函数{ptr = p;}~my_unique_ptr() noexcep

9月6号作业

1:.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类

Flink实例(六十九): flink 作业提交(四)总结

独立集群提交 # 启动集群bin/start-cluster.sh# 提交job./bin/flink run ./examples/batch/WordCount.jar --input hdfs:/user/yuan/input/wc.count --output hdfs:/user/yuan/swwwttt yarn session # 启动集群./bin/

【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind 是 C++11 标准库中的一个功能,它允许你“绑定”某些参数到一个函数、成员函数或可调用对象上,从而生成一个新的可调用对象。这种新的可调用对象可以稍后被调用,而且其中一些参数已经被预先设置好了。这在回调函数和异步编程中特别有用。 下面我用一个通俗的例子来解释 std::bind 是如何工作的。 假设场景 假设你有一个家庭厨师,他有一个技能叫做“做饭”。做饭需要两个参数:一