c++9月20日

1.思维导图

2.顺序表

头文件

#ifndef RECTANGLE_H
#define RECTANGLE_H#include <iostream>using namespace std;using datatype = int ;//类型重定义class Seqlist
{
private://私有权限datatype *ptr; //指向堆区申请空间的起始地址int size;//堆区空间的长度int len = 0;//顺序表的实际长度
public://公共权限void init(int );void menu();bool menu1();bool empty();bool full();void push_back(datatype);void show();void insert();void erase();void pop_back();void Size();void sort(bool);void at();
};#endif // RECTANGLE_H

功能函数

#include"rectangle.h"
void Seqlist::init(int n)
{this->ptr = new datatype[n];//在堆区申请n个datatype类型的空间this->len = 0;//对Seqlist的实际长度初始化this->size = n;//确定Seqlist的最大长度
}
void Seqlist::menu()
{cout<<"****1.插入***************"<<endl;cout<<"****2.删除***************"<<endl;cout<<"****3.尾删***************"<<endl;cout<<"****4.求长度*************"<<endl;cout<<"****5.获取任意位置元素***"<<endl;cout<<"****6.排序***************"<<endl;cout<<"****7.查看所有元素*******"<<endl;cout<<"****8.退出***************"<<endl;int n;cout<<"请输入:";cin>>n;bool flag;switch(n){case 1:insert();break;case 2:erase();break;case 3:pop_back();break;case 4:Size();break;case 5:at();break;case 6:flag = menu1();sort(flag);break;case 7:show();break;case 8:exit(0);break;}
}
bool Seqlist::empty()//判空
{return this->len == 0;//Seqlistd的实际长度为0时返回一个false(假)
}
bool Seqlist::full()//判满
{return this->len == this->size;//Seqlist的实际长度为size时返回一个true(真)
}
void Seqlist::push_back(datatype e)//尾插
{if(this->full())//判满{cout<<"顺序表已满"<<endl;return;}this->ptr[len++] = e;
}
void Seqlist::show()//查看顺序表内的数据
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}for(int i = 0;i<this->len;i++){cout<<this->ptr[i]<<" ";}cout<<endl;
}
void Seqlist::insert()//任意位置插入
{if(this->full())//判满{cout<<"顺序表已满"<<endl;return;}cout<<"输入插入位置:";int index;cin>>index;cout<<"输入插入数字:";datatype e;cin>>e;this->len++;for(int i=this->len;i>=index;i--){this->ptr[i]=this->ptr[i-1];}this->ptr[index-1] = e;
}
void Seqlist::erase()//任意位置删除
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}cout<<"输入删除位置:";int index;cin>>index;for(int i=index-1;i<this->len;i++){this->ptr[i]=this->ptr[i+1];}this->len--;
}
void Seqlist::pop_back()//尾删
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}this->ptr[len]=0;this->len--;
}
void Seqlist::Size()//顺序表长度
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}cout<<"长度为:"<<this->len<<endl;
}
bool Seqlist::menu1()
{cout<<"1.升序"<<endl;cout<<"2.降序"<<endl;bool flag;int n;cin>>n;if(n==1){flag=true;}else{flag=false;}return flag;
}
void Seqlist::sort(bool flag)//排序
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}int i,j;for(i=1;i<this->len;i++){for(j=0;j<this->len-i;j++){if(flag!=0&&this->ptr[j]>this->ptr[j+1]){int temp = this->ptr[j];this->ptr[j]=this->ptr[j+1];this->ptr[j+1]=temp;}else if(flag==0&&this->ptr[j]<this->ptr[j+1]){int temp = this->ptr[j];this->ptr[j]=this->ptr[j+1];this->ptr[j+1]=temp;}}}
}
void Seqlist::at()//获得数据
{if(this->empty())// 判空{cout<<"顺序表为空"<<endl;return;}int inex;cout<<"输入获取位置:";cin>>inex;if(inex>this->len){cout<<"该位置为空";}else{cout<<"该位置为"<<this->ptr[inex-1]<<endl;}
}

主函数

#include"rectangle.h"
int main()
{Seqlist s1;s1.init(5);int arr[3]={1,3,5};for(int i=0;i<3;i++){s1.push_back(arr[i]);}while(1){s1.menu();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/428858.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在python爬虫中xpath方式提取lxml.etree._ElementUnicodeResult转化为字符串str类型

简单提取网页中的数据时发现的 当通过xpath方式提取出需要的数据的text文本后想要转为字符串&#xff0c;但出现lxml.etree._ElementUnicodeResult的数据类型不能序列化&#xff0c;在网上查找到很多说是编码问题Unicode编码然后解码什么的&#xff1b;有些是(导入的xml库而不…

【24华为杯数模研赛赛题思路已出】国赛B题思路丨附参考代码丨免费分享

2024年华为杯研赛B题解题思路 B题 WLAN组网中网络吞吐量建模 问题1 请根据附件WLAN网络实测训练集中所提供的网络拓扑、业务流量、门限、节点间RSSI的测试基本信息&#xff0c;分析其中各参数对AP发送机会的影响&#xff0c;并给出影响性强弱的顺序。通过训练的模型&#xff…

在SpringBoot项目中利用Redission实现布隆过滤器(布隆过滤器的应用场景、布隆过滤器误判的情况、与位图相关的操作)

文章目录 1. 布隆过滤器的应用场景2. 在SpringBoot项目利用Redission实现布隆过滤器3. 布隆过滤器误判的情况4. 与位图相关的操作5. 可能遇到的问题&#xff08;Redission是如何记录布隆过滤器的配置参数的&#xff09;5.1 问题产生的原因5.2 解决方案5.2.1 方案一&#xff1a;…

夏日遛娃绝佳之地:气膜儿童乐园—轻空间

随着夏季的到来&#xff0c;炎炎烈日让户外活动变得有些艰难。然而&#xff0c;在城市的某个角落&#xff0c;一座气膜儿童乐园却为家长和孩子们提供了一个理想的避暑天堂。这里的恒温控制保持在舒适的27℃&#xff0c;让孩子们在欢乐中享受每一个夏日的阳光&#xff0c;而家长…

由于安全风险,安全领导者考虑禁止人工智能编码

安全团队与开发团队之间的紧张关系 83% 的安全领导者表示&#xff0c;他们的开发人员目前使用人工智能来生成代码&#xff0c;57% 的人表示这已成为一种常见做法。 然而&#xff0c;72% 的人认为他们别无选择&#xff0c;只能允许开发人员使用人工智能来保持竞争力&#xff0…

IDA Pro基本使用

IDA Pro基本使用 1.DllMain的地址是什么? 打开默认在的位置1000D02E就是DllMain地址 按空格键可以看到图形化界面选择options、general勾选对应的选项在图像化也能看到 2.使用Imports 窗口并浏览到 gethostbyname&#xff0c;导入函数定位到什么地址? 这里可以打开Impo…

为人机交互保持预见性丨基于G32A1445的T-BOX应用方案

T-BOX是一种集成了通信、计算和控制功能的车载信息处理终端&#xff0c;通过车辆与云端、移动网络等进行数据交互&#xff0c;用于车、人、外部环境的互联互通&#xff0c;支持车辆定位、车载通信、远程控制、故障诊断、数据传输、紧急呼叫等功能&#xff0c;帮助车辆实现更加智…

OpenCV_最简单的鼠标截取ROI区域

在OpenCV中也存在鼠标的操作&#xff0c;今天我们先介绍一下鼠标中的操作事件 void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata0) setMousecallback参数说明&#xff1a; winname:窗口的名字 onMouse:鼠标响应函数&#xff0c;回调…

计算机毕业设计 社区医疗服务系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

线性代数书中求解线性方程组的三种方法的实例

目录 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65) 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65)

刷题训练之字符串

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练掌握字符串算法。 > 毒鸡汤&#xff1a;学习&#xff0c;学习&#xff0c;再学习 ! 学&#xff0c;然后知不足。 > 专栏选自&#xff1a;刷题…

【笔记】1.3 塑性变形

一、塑性变形的方式 DDWs&#xff08;Dislocation-Dipole Walls&#xff0c;位错偶极墙&#xff09;&#xff1a;指由两个位错构成的结构&#xff0c;它们以一种特定的方式排列在一起&#xff0c;形成一个稳定的结构单元。 DTs&#xff08;Dislocation Tangles&#xff0c;位错…

allWebPlugin中间件自定义alert、confirm及prompt使用

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

关于 NLP 深度学习的核心流程

基本流程实现的先后顺序&#xff08;每一步都包含很多技术点&#xff09;&#xff1a; 选定语言模型结构 关于语言模型&#xff1a; 作用 判断那一句话相对更合理&#xff0c;相对不合理的会得到较底的分值&#xff1a; 挑选成句概率分值最高的评价指标&#xff1a;PPL&…

在线查看 Android 系统源代码 Git repositories on android

在线查看 Android 系统源代码 Git repositories on android 1. Git repositories on android1.1. Android Make Build System1.2. Android Open Source Project Code Review References 1. Git repositories on android https://android.googlesource.com/ 1.1. Android Make …

Git rebase 的使用(结合图与案例)

目录 Git rebase 的使用Git rebase 概念Git rebase 原理rebase和merge的选择 Git rebase 的使用 在 Git 中整合来自不同分支的修改主要有两种方法&#xff1a;merge 以及 rebase Git rebase 概念 **rebase概念&#xff1a;**用来重新应用提交&#xff08;commits&#xff09…

一文入门生成式AI(理解ChatGPT的原理)

一、什么是生成式AI&#xff1f; 以ChatGPT为代表的生成式AI&#xff0c;是对已有的数据和知识进行向量化的归纳&#xff0c;总结出数据的联合概率。从而在生成内容时&#xff0c;根据用户需求&#xff0c;结合关联字词的概率&#xff0c;生成新的内容。 可以这么联想&#x…

浅析OceanBase数据库的向量化执行引擎

本篇博客是偏数据库系统概念性的内容&#xff0c;不会深入到 OceanBase 中各个算子和表达式的在向量化中的详细设计和实现。 背景 为了提升OceanBase社区版用户解决问题的效率&#xff0c;OceanBase官方不久前推出了《OceanBase 从入门到实践》系列课程。在第七期直播课程后&a…

嵌入式 开发技巧和经验分享

文章目录 前言嵌入式 开发技巧和经验分享目录1.1嵌入式 系统的 定义1.2 嵌入式 操作系统的介绍1.3 嵌入式 开发环境1.4 编译工具链和优化1.5 嵌入式系统软件开发1.6 嵌入式SDK开发2.1选择移植的系统-FreeRtos2.2FreeRtos 移植步骤2.3 系统移植之中断处理2.4系统移植之内存管理2…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣965, 2331, 100, 1379

1. 力扣965&#xff1a;单值二叉树 1.1 题目&#xff1a; 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时&#xff0c;才返回 true&#xff1b;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;[1,1,1,1,1,n…