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

C++ day8——模版

笔记脑图

作业

template <class T>
class mylist{
public:// 这是一个链表的节点struct Link{T val;Link* next;    } 增 :insert(T val) 在链表中创建新节点,节点上保存的数据为 val删:remove(T val)  移除链表中数据为 val 的节点改: operator[](int index) 将第index的节点修改排序:sort遍历:show 输出链表中所有节点上 val
private:Link * head; // 记录链表的头节点的指针Link* tail;  // 记录链表的为节点的指针   

代码

#include <iostream>using namespace std;
template <class T>
class mylist
{
public:// 这是一个链表的节点struct Link{T val;Link* next;int len;//链表长度};//增void insert(T val); //在链表中创建新节点,节点上保存的数据为 val//删void remove(T val);  //移除链表中数据为 val 的节点//改void operator[](int index); //将第index的节点修改//排序void sort();//遍历void show(); //输出链表中所有节点上 valmylist();~mylist();mylist& operator<<(T val);
private:Link * head; // 记录链表的头节点的指针Link* tail; // 记录链表的为节点的指针
};
template <typename T>
mylist<T>& mylist<T>::operator<<(T val)
{insert(val);return *this;
}
//申请空间
template <typename T>
mylist<T>::mylist()
{head=new Link;head->len=0;head->next=NULL;
}
template <typename T>
mylist<T>::~mylist()
{delete[] head;
}
//增(头插)
template <typename T>
void mylist<T>::insert(T val)
{Link* p=new Link;p->val=val;p->next=head->next;head->next=p;head->len++;
}
//删
template <typename T>
void mylist<T>::remove(T val)
{int i,flag=0;Link* t=head;for(i=0;i<head->len;i++){if(t->next->val==val){Link *Q=t->next;t->next=t->next->next;delete Q;Q=NULL;head->len--;flag=1;}t=t->next;}if(flag==0){cout<<"删除失败"<<endl;}
}
//改
template <typename T>
void mylist<T>::operator[](int index)
{int i;Link* t=head;for(i=0;i<index;i++){t=t->next;}t->val=100;
}
//排序
template <typename T>
void mylist<T>::sort()
{int i;T t;Link * j;for(i=1;i<head->len;i++){for(j=head->next;j->next!=NULL;j=j->next){if(j->val>j->next->val){t = j->val;j->val = j->next->val;j->next->val = t;}}}
}
//遍历
template <typename T>
void mylist<T>::show()
{int i;Link *t=head;for(i=0;i<head->len;i++){t=t->next;cout<<t->val<<" ";}cout<<endl;
}
int main()
{mylist<int> v;v<<3<<2<<4<<1<<5<<8<<7<<9;v.show();int a;cout<<"请输入要删除的值:"<<endl;cin>>a;v.remove(a);v.show();int b;cout<<"请输入要修改的位置:"<<endl;cin>>b;v.operator[](b);v.show();cout<<"排序"<<endl;v.sort();v.show();return 0;
}

结果

相关文章:

C++ day8——模版

笔记脑图 作业 template <class T> class mylist{ public:// 这是一个链表的节点struct Link{T val;Link* next; } 增 &#xff1a;insert(T val) 在链表中创建新节点&#xff0c;节点上保存的数据为 val删&#xff1a;remove(T val) 移除链表中数据为 val 的节点改…...

【CSS in Depth 2 精译_080】 13.1:CSS 渐变效果(中)——不同色彩空间的颜色插值算法在 CSS 渐变中的应用

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 ✔️ 13.1.1 使用多个颜色节点&#xff08;上&#xff09;13.1.2 颜色插值方法&#xff08;中&#xff09; ✔️13.1…...

红日靶场1(搭建打靶)

搭建 靶场下载&#xff1a; http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ (13G&#xff0c;需要百度网盘会员) 下载好靶场文件后直接解压 直接用虚拟机打开靶场 更改网络ip 需要模拟内网和外网两个网段&#xff0c; Win7 虚拟机相当于网关服务器&#xff0c;所以需要…...

LivePortrait 部署笔记

LivePortrait 开源地址&#xff1a; https://github.com/KwaiVGI/LivePortrait 模型下载&#xff1a; export HF_ENDPOINThttps://hf-mirror.com huggingface-cli download --resume-download KwaiVGI/LivePortrait --local-dir models--KwaiVGI--LivePortrait...

Greenhills Lib操作-查看Lib信息与将lib中的data段link到指定区域

文章目录 前言Greenhillls中gsize的用法修改ld文件将lib中的data段指定区域示例定义与链接总结 前言 项目开发过程中&#xff0c;遇到客户开发ASW&#xff0c;提供Lib进行集成&#xff0c;但ASW中的标定量没有定义对应的data段&#xff0c;导致无法将标定量指定到特定的内存。…...

【十进制整数转换为其他进制数——短除形式的贪心算法】

之前写过一篇用贪心算法计算十进制转换二进制的方法&#xff0c;详见&#xff1a;用贪心算法计算十进制数转二进制数&#xff08;整数部分&#xff09;_短除法求二进制-CSDN博客 经过一段时间的研究&#xff0c;本人又发现两个规律&#xff1a; 1、不仅仅十进制整数转二进制可…...

【JavaEE】网络(2)

一、网络编程套接字 1.1 基础概念 【网络编程】指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff1b;当然&#xff0c;我们只要满足进程不同就行&#xff0c;所以即便是同一个主机&#xff0c;只要是不同进程&#xff0c;基于网络来传…...

AI for Science 的完美实践——科研文献的智慧化提取获得“综述性文摘”的软件开发

实践是检验真理的唯一标准&#xff01;show your codes! 1 综述性文摘的需求 再简单不过了。 甲方&#xff08;综述性文摘&#xff09;需求&#xff1a;针对项目特征或描述&#xff0c;从几百篇相关的科研论文&#xff08;PDF&#xff09;中智能提取相关内容&#xff0c;包括…...

前端使用xlsx.js实现 Excel 文件的导入与导出功能

前端使用xlsx.js实现 Excel 文件的导入与导出功能 在现代的 Web 开发中&#xff0c;处理文件上传和导出功能已经变得越来越常见&#xff0c;尤其是 Excel 文件的导入与导出。 我们将使用 Vue.js 和 XLSX.js 库来处理 Excel 文件的读取和生成。XLSX.js 是一个强大的 JavaScrip…...

React简单了解

原理简化了解 import React from "react" import { createRoot } form "react-dom/client"const element React.createElement(p,{id: hello},Hello World! )const container document.querySelector(#root) const root createRoot(container) root.r…...

backbone 和Run-Length Encoding (RLE)含义

在深度学习中&#xff0c;特别是在图像分割任务中&#xff0c;backbone&#xff08;主干网络&#xff09;是指用于特征提取的预训练神经网络模型。Backbone 的主要作用是从输入图像中提取有用的特征&#xff0c;这些特征随后会被用于更高层次的任务&#xff0c;如分类、检测或分…...

在Centos7上安装MySQL数据库 How to install MySQL on Centos 7

执行以下命令&#xff0c;下载并安装MySQL。 wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql57-community-release-el7-10.noarch.rpm && yum install -y mysql-community-server --nogpgcheck执行以下…...

Linux docker-20.10.9安装

Linux Docker20.10.9安装 解压文件 tar -xvf docker-20.10.9.tgz 给docker执行文件赋予可执行权限 chmod 755 -R docker/复制docker到/usr/bin/目录下,使docker命令可以执行 cp docker/* /usr/bin/将Docker注册为service&#xff0c;创建docker.service文件 vim /etc/syst…...

操作系统(13)虚拟存储器

前言 操作系统中的虚拟存储器是一项关键技术&#xff0c;它为用户提供了一个远大于实际物理内存容量的逻辑内存空间。 一、定义与原理 虚拟存储器是具有请求调入功能和置换功能&#xff0c;能从逻辑上对内存容量加以扩充的存储器系统。其逻辑容量由内存容量与外存容量之和决定&…...

《面向对象综合训练01~05》

《面向对象综合训练01~05》 训练01&#xff1a;文字版格斗游戏 第一步&#xff1a;创建游戏角色的javabean类 public class Role {private String name;private int blood;private char gender;private String face;//长相是随机的//创建男女长相的随机数组String[] boyfaces…...

电脑为什么会提示“msvcr120.dll缺失”?“找不到msvcr120.dll文件”要怎么解决?

电脑故障排查指南&#xff1a;揭秘“msvcr120.dll缺失”的真相与解决方案 在软件开发与日常维护的广阔天地里&#xff0c;遇到系统报错或文件缺失的情况可谓家常便饭。今天&#xff0c;我将带领大家深入探讨一个常见的系统提示——“msvcr120.dll缺失”&#xff0c;并揭秘其背…...

huggingface NLP-微调一个预训练模型

微调一个预训练模型 1 预处理数据 1.1 处理数据 1.1.1 fine-tune 使用tokenizer后的token 进行训练 batch tokenizer(sequences, paddingTrue, truncationTrue, return_tensors"pt")# This is new batch["labels"] torch.tensor([1, 1])optimizer A…...

【BUG记录】Apifox 参数传入 + 号变成空格的 BUG

文章目录 1. 问题描述2. 原因2.1 编码2.2 解码 3. 解决方法 1. 问题描述 之前写了一个接口&#xff0c;用 Apifox 请求&#xff0c;参数传入一个 86 的电话&#xff0c;结果到服务器 就变成空格了。 Java 接收请求的接口&#xff1a; 2. 原因 2.1 编码 进行 URL 请求的…...

Spring AI API 介绍

目录&#xff1a; Spring AI 框架介绍 Spring AI API 核心API简介 Spring AI 提供了很多便利的功能&#xff0c;主要如下&#xff1a; AI Model API “Model API” 提供了聊天、文本转图像、音频转录、文本转语音、嵌入等功能&#xff0c;且不局限于某个固定的大模型提供商…...

【MySQL】Linux使用C语言连接安装

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…...

Wan2.2-I2V-A14B镜像免配置:所有路径预设标准化(/workspace/model /output)

Wan2.2-I2V-A14B镜像免配置&#xff1a;所有路径预设标准化&#xff08;/workspace/model /output&#xff09; 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像&#xff0c;基于RTX 4090D 24GB显存显卡和CUDA 12.4环境深度定制。这个镜像的…...

终极指南:如何用 PHP Steam API 包轻松集成 Steam 游戏数据

终极指南&#xff1a;如何用 PHP Steam API 包轻松集成 Steam 游戏数据 【免费下载链接】Steam A composer package to make use of the steam web api. 项目地址: https://gitcode.com/gh_mirrors/stea/Steam 想要在你的 PHP 或 Laravel 应用中集成 Steam 游戏数据吗&a…...

树莓派与STM32串口通信实战:从配置到调试全流程解析

1. 硬件准备与环境搭建 第一次尝试用树莓派和STM32做串口通信时&#xff0c;我对着桌上堆满的零件发愁&#xff1a;到底哪些线该接哪里&#xff1f;后来发现其实核心部件就三样&#xff1a;树莓派&#xff08;推荐4B型号&#xff09;、STM32开发板&#xff08;我用的是F103C8T6…...

GPU Burn:多GPU压力测试的终极解决方案

GPU Burn&#xff1a;多GPU压力测试的终极解决方案 【免费下载链接】gpu-burn Multi-GPU CUDA stress test 项目地址: https://gitcode.com/gh_mirrors/gp/gpu-burn 在高性能计算与深度学习领域&#xff0c;GPU的稳定性直接决定了系统的可靠性。作为一款专注于NVIDIA显卡…...

Kandinsky-5.0-I2V-Lite-5s企业级部署案例:客服知识库配图→动态教学短视频生成

Kandinsky-5.0-I2V-Lite-5s企业级部署案例&#xff1a;客服知识库配图→动态教学短视频生成 1. 项目背景与需求分析 在客服培训领域&#xff0c;传统的知识库配图往往是静态图片&#xff0c;难以直观展示操作流程和动态场景。某大型电商平台客服团队面临以下痛点&#xff1a;…...

CyberChef:数据处理的万能工具箱

CyberChef&#xff1a;数据处理的万能工具箱 【免费下载链接】CyberChef The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis 项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef 数据处理的困境与破局之道 你…...

Realistic Vision V5.1 Streamlit界面源码解析:如何扩展自定义摄影滤镜

Realistic Vision V5.1 Streamlit界面源码解析&#xff1a;如何扩展自定义摄影滤镜 1. 项目背景与技术特点 Realistic Vision V5.1是目前SD 1.5生态中最顶级的写实风格模型之一&#xff0c;能够生成媲美专业单反相机拍摄的人像作品。本项目通过Streamlit框架构建了直观的交互…...

效率倍增:用快马生成万文通核心文本处理模块,告别重复编码

效率倍增&#xff1a;用快马生成万文通核心文本处理模块&#xff0c;告别重复编码 最近在开发一个多语言文本处理工具"万文通"&#xff0c;需要频繁实现翻译、摘要和关键词提取功能。每次从零开始写这些基础模块太耗时&#xff0c;于是我尝试用InsCode(快马)平台快速…...

Zebu仿真加速实战:从编译到覆盖率的芯片验证效率提升指南

1. Zebu仿真加速环境配置实战 第一次接触Zebu仿真加速器时&#xff0c;我被它复杂的编译环境折腾得够呛。记得有次项目紧急交付&#xff0c;光是解决编译问题就耗了两天。后来才发现&#xff0c;很多问题其实都有规律可循。 1.1 跨平台编译的坑与解决方案 最让人头疼的就是从…...

CODESYS组件开发进阶:如何通过修改.m4文件调用SysFile等系统函数(附实例代码)

CODESYS组件开发进阶&#xff1a;深入解析.m4文件配置与系统函数调用实战 在工业自动化领域&#xff0c;CODESYS作为主流的PLC开发平台&#xff0c;其组件化开发能力为工程师提供了极大的灵活性。但当你需要突破基础功能限制&#xff0c;实现文件操作、系统管理等高级功能时&am…...