9.20哈好

news2024/11/15 6:49:17

函数体

#include"SeqList.h"

void SeqList::init(int n)
{
    this->ptr=new data[n];
    
    this->len=0;
    this->size=n;
}

bool SeqList::empty()
{
    return this->len=0;
}

bool SeqList::full()
{
    return this->size==this->len;
}

void SeqList::push_back(data e)
{
    if(this->full())
    {
        return ;
    }
    this->ptr[len++]=e;
}

void SeqList::show()
{
    for(int i=0;i<this->len;i++)
    {
        cout<<"元素"<<len<<this->ptr[i]<<" ";
    }
    cout<<endl;
}

void SeqList::insert(int index)
{
    if(this->full())
    {
        return ;
    }
    if(index>this->len+1||index<=0||index>this->size)
    {
        cout<<"插入错误"<<endl;
        return;
    }
    data e;
    cout<<"输入要插入的元素";
    cin>>e;
    for(int i=len-1;i>=index-1;i--)
    {
        this->ptr[i+1]=this->ptr[i];
    }
    this->ptr[index-1]=e;
    this->len++;
}

void SeqList::delete_s(int index)
{
    if(index>this->len+1||index<=0||index>this->size)
    {
        cout<<"删除位置不合理"<<endl;
        return;
    }
    for(int i=index;i<this->len;i++)
    {
        this->ptr[i-1]=this->ptr[i];
    }
    this->len--;
}

void SeqList::pop_back()
{
     if(this->len==0)
     {
             cout<<"顺序表为空"<<endl;
                               return;
                           }
      this->len--;
                         }
                       

data SeqList::get_len()
{
    return this->len;
}

data SeqList::get_index(int index)
{
    if(index>this->len||index<0||index>=this->size)
    {
        cout<<"位置不合理";
     return -1;    
    }
    return this->ptr[index-1];
}

void SeqList::sort(bool flag)
{
    if(flag){
           for(int i=1;i<this->len;i++){
               for(int j=0;j<this->len-i;j++){
                   if(this->ptr[j]>this->ptr[j+1]){
                       data t = this->ptr[j];
                       this->ptr[j] = this->ptr[j+1];
                       this->ptr[j+1] = t;
                   }
               }
           }
       }
else{
           for(int i=1;i<this->len;i++){
               for(int j=0;j<this->len-i;j++){
                   if(this->ptr[j]<this->ptr[j+1]){
                       data t = this->ptr[j];
                       this->ptr[j] = this->ptr[j+1];
                       this->ptr[j+1] = t;
                   }
               }
           }
       }
   }

头文件

#ifndef SEQLIST_H
#define SEQLIST_H
#include<iostream>
#include<memory.h>
#include<stdlib.h>
#include<string.h>

using data=int;
using namespace std;

class SeqList
{
private:
    data *ptr;
    int size;
    int len=0;
public:
    void init(int n);
    bool empty();
    bool full();
    void push_back(data e);
    void show();
    void insert(int index);
    void delete_s(int index);
    void pop_back();
    data get_len();
    data get_index(int index);
    void sort(bool flag);
};
#endif // SEQLISH_H



主函数

#include"SeqList.h"

using namespace std;

int main()
{
    SeqList s1;
    int n;
    cout << "输入顺序表的大小";
    cin>>n;
    s1.init(5);
    cout<<"输入要插入的数据"<<endl;
    for(int i=0;i<5;i++)
    {
        string s;
        cin>>s;
        int e=stoi(s);
        s1.push_back(e);
    }
    s1.show();
    int add;
    cout<<"输入要插入的位置" ;
    getchar();
    cin>>add;
    s1.insert(add);
    s1.show();
    cout<<"输入要删除的位置";
    cin>>add;
    s1.delete_s(add);
    s1.show();
    int c;
    cout<<"是否尾删(1为yes/2为no)";
    cin>>c;
    if(c==1)
    {
        s1.pop_back();
    }
    s1.show();
    int changdu=s1.get_len();
    cout<<"顺序表长度为"<<changdu<<endl;
    int index;
    cout<<"输入要查找位置的元素";
    cin>>index;
    cout<<index<<"元素"<<s1.get_index(index)<<endl;
    cout<<"(输入1为升序排序/2为降序排序)";
    cin>>c;
    s1.sort(c);
    s1.show();
    return 0;
}

在这里插入图片描述

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

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

相关文章

Zookeeper安装使用教程

# 安装 官网下载安装包 #配置文件 端口默认8080&#xff0c;可能需要更改一下 #启动 cd /Users/lisongsong/software/apache-zookeeper-3.7.2-bin/bin ./zkServer.sh start #查看运行状态 ./zkServer.sh status #停止 ./zkServer.sh stop #启动客户端 ./zkCli.sh ls /

Linux:Bash中的文件描述符

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的所有进程&#xff0c;都拥有自己的文件描述符(File Descriptor, FD)&#xff0c;它是操作系统在管理进程和文件时的一种抽象概念。每个文件描述符由一个非负整…

在渗入测试和峰谷测试中选Flat还是Ramp-up?

前面的一篇文章中我们为大家介绍了在基准测试和规划测试中选Flat还是Ramp-up&#xff0c;具体应该怎么配置&#xff0c;在这篇文章里&#xff0c;我们继续为大家介绍在渗入测试和峰谷测试中选Flat还是Ramp-up&#xff1f; 渗入测试&#xff08;疲劳强度测试&#xff09; 使用固…

vue-ts-demo

npm i -g vue/cli PS D:\kwai\vue3\project> vue create vue3-te-demo element-plus 一个 Vue 3 UI 框架 | Element Plus https://element-plus.org/zh-CN/guide/installation.html 安装&#xff1a; npm install element-plus --save 完整引入使用&#xff1a; 使用&…

AI大模型微调实战训练营,文旅对话 知识库 大模型实战(模型参数微调)

一、引言 随着人工智能技术的飞速发展&#xff0c;AI大模型在各个领域的应用日益广泛。其中&#xff0c;大模型微调作为一种强大的工具&#xff0c;能根据特定任务定制化模型性能&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;文旅对话和知识库构建…

eclipse使用 笔记02

创建一个项目&#xff1a; 【File-->New-->Dynamic Web Project】 进入页面&#xff1a; Project name为项目命名 Target runtime&#xff1a;选择自己所对应的版本 finish创建成功&#xff1a; 创建成功后的删除操作&#xff1a; 创建前端界面&#xff1a; 【注意&a…

二叉树的层序遍历 II

题目链接 二叉树的层序遍历 II 题目描述 注意点 树中节点数目在范围 [0, 2000] 内-1000 < Node.val < 1000 解答思路 根据队列先进先出的特点层序遍历所有的节点&#xff08;从左到右&#xff09;&#xff0c;又因为需要自底向上的输出层序遍历的结果&#xff0c;所…

2-100 基于matlab的水果识别

基于matlab的水果识别。从面积特征、似圆形特征&#xff0c;颜色(rgb值和hsv值)特征对图像中的梨子、苹果、桃子、香蕉和菠萝进行特征提取&#xff0c;边缘检测识别&#xff0c;最后按照筛选出来的特征对水果进行识别。程序已调通&#xff0c;可直接运行。 下载源程序请点链接…

机器学习算法与实践_03概率论与贝叶斯算法笔记

1、概率论基础知识介绍 人工智能项目本质上是一个统计学项目&#xff0c;是通过对 样本 的分析&#xff0c;来评估/估计 总体 的情况&#xff0c;与数学知识相关联 高等数学 ——> 模型优化 概率论与数理统计 ——> 建模思想 线性代数 ——> 高性能计算 在机器学…

EI-BISYNCH协议,欧陆2000系列设备读取数据

EI-Bisynch是一种基于ANSI X3.28-2.5 A4标准的专有协议&#xff0c;用于消息框架。尽管其名称中包含“Bisynch”&#xff0c;但它实际上是一种基于ASCII的异步协议。数据通过7位数据位、偶校验和1个停止位进行传输。 4.1 术语解释 4.1.1 地址 每个仪器都有一个可配置的地址&…

Leetcode面试经典150题-172.阶乘后的零

给定一个整数 n &#xff0c;返回 n! 结果中尾随零的数量。 提示 n! n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;0 解释&#xff1a;3! 6 &#xff0c;不含尾随 0示例 2&#xff1a; 输入&#xff1a;n 5 输出&a…

linux之mysql安装

1:mysql安装包下载 下载地址 可私信我直接获取安装包 2:linux下wget命令下载 下载地址 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz3:手动安装 将自己的安装包上传到对应的位置 解压 压缩包 使用命令 tar -zxvf mysql-5.7…

chorme浏览器 您的连接不是私密连接

‌当浏览器显示“您的连接不是私密连接&#xff0c;攻击者可能会试图从 localhost 窃取您的信息&#xff08;例如&#xff1a;密码、消息或信用卡信息&#xff09;”的警告时&#xff0c;这通常意味着您正在尝试访问的网站的安全证书存在问题&#xff0c;可能是因为它使用的是自…

Windows安装启动:stable-diffusion-webui,AIGC大模型文生图、文生视频,Python

Windows安装启动:stable-diffusion-webui&#xff0c;AIGC大模型文生图、文生视频&#xff0c;Python stable-diffusion-webui是github上的AIGC开源项目&#xff0c;地址&#xff1a; https://github.com/AUTOMATIC1111/stable-diffusion-webuihttps://github.com/AUTOMATIC1…

移动技术开发:简单文本编辑器

1 实验名称 简单文本编辑器 2 实验目的 掌握基本布局管理器的使用方法和基本控件的使用方法&#xff0c;以及事件监听处理的使用方法 3 实验源代码 布局文件代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:an…

图片压缩格式自适应,真的很省流量!

导语 图片&#xff0c;作为信息传递的重要载体&#xff0c;其格式日益多样化。不管是 PC 端还是移动端&#xff0c;图片一直都是流量消耗的大户。在互联网的应用中&#xff0c;用户会上传大量的图片&#xff0c;而且访问频繁&#xff0c;如果这些图片都以传统方式存在服务器磁盘…

用AI制作专属欧美漫画头像!FLUX大模型-漫画情侣lora应用教程

​ ​ 新上线了一个漫画风格的lora《漫画情侣&#xff08;欧美黄金时代风&#xff09;v1.0》 感兴趣的朋友可以去下载使用&#xff0c;下载是免费的。 下面跟大家说一下这个lora的特点、使用方法以及这个lora的延伸应用&#xff1a;欧美漫画头像制作 lora风格特点 欧美漫画/人…

Leetcode面试经典150题-97.交错字符串

给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串 &#xff1a; s s1 s2 ... snt t1 t2 ... tm|n - m| < 1交错 是…

C++入门基础知识八

1.介绍new与delete 1.malloc和free是函数&#xff0c;new和delete是操作符 2.malloc申请的空间不会初始化&#xff0c;new可以初始化 3.malloc申请空间失败时&#xff0c;返回的是NULL&#xff0c;因此必须判空&#xff0c;new不需要&#xff0c;但是new需要捕获异常 4.申请…

【例题】lanqiao4403 希尔排序模板题

插入排序每次只能将数据移动一位。 已知插入排序代码为&#xff1a; def insert_sort(a):for i in range(1,len(a)):ji-1while j>0 and a[j]>a[i]:a[j1]a[j]j-1a[j1]a[i]return a希尔排序在插入排序的基础上&#xff0c;将数据移动n/2,n/4,…,1位。 for i in range(ga…