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.xdnf.cn/news/146361.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode第十二题:整数转罗马数字

七个不同的符号代表罗马数字&#xff0c;其值如下&#xff1a; 符号值I1V5X10L50C100D500M1000 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则&#xff1a; 如果该值不是以 4 或 9 开头&#xff0c;请选择可以从输入中减去的…

利用LRZ压缩与Base64编码实现高效文件上传

引言 在当今互联网时代&#xff0c;文件上传已成为众多在线服务不可或缺的一部分&#xff0c;尤其是在社交媒体平台上的照片分享和云存储服务中的文档管理等场景&#xff0c;高效且安全的文件上传机制对于保障用户体验至关重要。 为此&#xff0c;本文将介绍一种结合了LRZ压缩…

使用vite+react+ts+Ant Design开发后台管理项目(三)

前言 本文将引导开发者从零基础开始&#xff0c;运用、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈&#xff0c;构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导&#xff0c;文章旨在为开发者揭示如何利用这些技术工具…

VSCode环境下连接 MySQL 8.0 数据库 (C++)

前言 时隔了不知道多久&#xff0c;笔者需要在Windows环境下通过VSCode重新搭建一个简单的数据库连接的Cpp工程。由于VSCode和MySQL的版本和之前连通时发生了一些变化&#xff0c;无需用MySQL Connector&#xff0c;环境配置的细节和之前也不尽相同&#xff0c;因此笔者找了一…

简单有效关于msvcp140.dll丢失的解决方法,msvcp140.dll修复的方法原理及步骤

这篇文章将和大家分享几种msvcp140.dll丢失的解决方法&#xff0c;分析解决方法为什么能够通过这种方法进行修复成功&#xff0c;有效的将丢失的msvcp140.dll文件进行修复完成。 msvcp140.dll丢失&#xff1f;简单有效的解决途径 一、重新安装相关软件 原理 许多应用程序在安…

掌握Android开发新趋势:Jetpack与现代架构技术全解析

随着Android开发技术的不断进步&#xff0c;Jetpack和现代架构技术已成为构建高效、可维护应用的关键。本文将为您介绍一套全面的学习资料&#xff0c;包括大纲、PDF文档、源代码以及学习视频&#xff0c;帮助您深入理解Jetpack核心库、架构组件以及现代开发工具。 内容&#…

【C++】—— string模拟实现

前言&#xff1a; 学习了string的使用&#xff0c;总感觉了解不是很深厚&#xff1b;自己模拟实现string类来帮助自己理解。 这里只是实现了一部分内容&#xff08;并没有实现完整的string类&#xff09;。 先来实现string类里面的成员变量&#xff1a; #include<iostream…

草莓团队创造了o1 - Building OpenAI o1 (Extended Cut) 观后笔记

美妙的事物往往需要世界去创造&#xff0c;商业希望大模型越来越快给出回答。或许花费几个月几年的时间持续思考&#xff0c;大模型能够解决更复杂的问题&#xff0c;而不只是回答42 刚发现凌晨OpenAI发布了一个22多分钟的采访&#xff0c;将构建出O1的整个团队拉到一个小屋子&…

让Tkinter更美观:教你同步Tkinter窗口与弹窗图标(Tkinter同步主窗口与Messagebox的图标)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 步骤1:主窗口图标📝 步骤2:messagebox 图标📝 示例代码📝 实现原理与代码解释⚓️ 相关链接 ⚓️📖 介绍 📖 你有没有注意到,在开发软件图形界面时,会需要弹出一些提示框,而这些提示框的图标总…

695. 岛屿的最大面积

思路&#xff1a; 只有当前是陆地&#xff0c;才会构成岛屿 当前是陆地&#xff0c;进入回溯 往当前的上、下、左、右位置分别找陆地位置&#xff0c;为陆地 1>标记为2:代表已经遍历过的陆地 2>记录当前方向的陆地总数 以当前陆地组成的岛屿面积当前陆地面积向上的…

11----mtk芯片专用解锁工具 解除FRP 很小的工具 去除屏幕锁 免授权等等 工具预览与步骤解析

机型的FRP锁是谷歌账号锁。工具是mtk芯片使用 。可以去除当前机型的FRP和米账号重置。操作非常简单。但前提是联机驱动要装好。任何的工具联机驱动是关键。 工具功能选项 ★★★★★工具开发者说明功能与选项操作与资源下载 ★★★★★具体工具操作使用指南 工具联机界面与…

Type-C协议(CC检测原理)-CC1和CC2接电阻-数字和模拟耳机兼容

Type-C协议&#xff08;CC检测原理&#xff09;-CC1和CC2接电阻-数字和模拟耳机兼容 - Sean_hn - 博客园 (cnblogs.com)

4.变量与函数

作业系统链接 变量是Python中用于存储数据的命名标签&#xff0c;通过赋值&#xff0c;新值可以覆盖旧值&#xff0c;且数据类型不必相同。变量命名规则包括必须以字母或下划线开头&#xff0c;由字母、数字和下划线组成&#xff0c;大小写敏感&#xff0c;并避免使用保留字。函…

精选写作技巧!分享4款ai写毕业论文可以写出公式表格的软件

在撰写毕业论文时&#xff0c;AI写作工具可以极大地提高效率和质量。以下是四款值得推荐的AI软件&#xff0c;它们不仅能够帮助生成高质量的论文初稿&#xff0c;还能处理公式和表格等复杂内容。 传送门&#xff1a;https://www.aipaperpass.com?piclLGw 千笔-AIPassPaper是一…

Rx Strategist:智能体实现处方验证的方方面面,如适应症、剂量、药物相互作用

Rx Strategist&#xff1a;智能体实现处方验证的方方面面&#xff0c;如适应症、剂量、药物相互作用 秒懂大纲提出背景&#xff1a;拆解解法分析全流程分析创意 秒懂大纲 ├── 处方验证系统【主题】 │ ├── 背景和问题【问题描述】 │ │ ├── 现代药物复杂性对严…

2024年华为杯研究生数学建模竞赛研赛C题超详细解题思路+数据预处理代码分享

研赛题目由当年负责赛区【23年为东南大学&#xff0c;24年为山东大学】的相关老师每年独立命题&#xff0c;因此每年的题目在涉及的模型和知识点上都有很大差异。数模竞赛是百分比获奖&#xff0c;选择人数最多的也就意味着题目简单&#xff0c;会有很多新手、小白选择。我们只…

python有main函数吗

python和C/Java不一样&#xff0c;没有主函数一说&#xff0c;也就是说python语句执行不是从所谓的主函数main开始的。 当运行单个python文件时&#xff0c;如运行a.py&#xff0c;这个时候a的一个属性__name__是__main__。 当调用某个python文件时&#xff0c;如b.py调用a.p…

华为HarmonyOS地图服务 13 - 如何实现地图数据聚合效果?

场景介绍 本章节将向您介绍如何根据地图数据实现聚合效果。 您可以通过比例尺缩放自适应聚合效果,聚合图标可点击。聚合支持功能: 支持按距离聚合ClusterItem。支持绘制聚合Overlay的默认图标。支持绘制聚合Overlay的自定义图标。支持监听聚合Overlay的点击事件。支持添加单…

华为为什么要做三折叠屏手机?

前些天我做了一条视频&#xff0c;关于讲华W的新的三折叠屏手机。我说我有点失望&#xff0c;结果引起了华W的同事的一些关注。于是&#xff0c;华W几位高管都跑过来&#xff0c;跟我解释为什么会出现这样的一个状态。 我才知道&#xff0c;这款手机他们其实是亏着钱在卖的。因…

云盘视频保护神器,支持云盘视频加密与在线播放,配合alist使用,超完美!

平时我们保护视频&#xff0c;一般都是采用压缩工具&#xff0c;进行加密打包&#xff0c;然后在上传到网盘存储。这虽然能起到很好的保护&#xff0c;但是有很多问题&#xff1f;比如&#xff1a;无法直接在线播放&#xff0c;还得从网盘中下载后解压&#xff0c;才能进行观看…