单链表实现(C++)

2023-11-01

C++实现单链表数据结构

myList.h

#ifndef MYLIST_H
#define MYLIST_H

typedef struct node
{
	int data;
	struct node *next;
}Node;
class myList
{
public:
	myList();
	~myList();
	void initList();				// 初始化单链表
	int getData(int pos);			//得到pos位置的元素
	void insert(int val, int pos);	//将值为val的元素插入到单链表的pos位置
	int remove(int pos);			//删除第pos个结点,并返回该结点的值
	void reverse();					//对单链表进行转置
	int searchValue(int val);		//寻找值为val的结点在单链表中的位置
	int getLength();				//返回单链表的长度
	void print();				//遍历打印单链表
private:
	Node *head;					//头结点指针	
	Node *cur;					//当前结点指针
	int length;					//单链表长度
};
#endif

myList.cpp

#include &
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单链表实现(C++) 的相关文章

  • 标准的遗传算法求函数最大值

    最近看了下遗传算法 刚看了一点 就觉得手痒 非要把程序编制出来看看效果 我现在总认为那些理论再高深 无法用计算机实现就是空话 呵呵 下面是我调试了好久的代码 无赖没有学过数据结构 算法 程序写的很差 单效果还是出来了 高兴 和大家共同分享下
  • 数据结构 —七大排序算法(图文详细版)

    文章目录 前言 一 插入排序 1 直接插入排序 1 原理 2 实现 3 稳定性 时间复杂度 2 希尔排序 1 原理 2 具体实现 3 稳定性 时间复杂度 二 选择排序 1 直接选择排序 1 原理 2 具体实现 3 稳定性 时间复杂度 4 优
  • 有限状态自动机

    1 什么是有限状态自动机 1 1什么是计算 维基百科定义 计算 英语 Calculation 是一种将 单一或多个的输入值 转换为 单一或多个的结果 的一种思考过程 可以简单理解为给出一个问题得到一个答案的过程 如下图所示日常生活比较常见计
  • JavaScript 算法系列---动态规划

    很久之前接触过这样一道题目 总共有十层阶梯 从1层开始往上爬 每次可以上1层或者2层 问到10层总共有多少种方法 思路 这个问题就是动态规划的一个经典例子 所谓动态规划 就是把复杂的问题进行拆解 拆解成一个个子问题 而这类问题最后非常适合使
  • 数据结构与算法:去除重复字母

    给你一个仅包含小写字母的字符串 请你去除字符串中重复的字母 使得每个字母只出现一次 需保证返回结果的字典序最小 要求不能打乱其他字符的相对位置 示例 1 输入 bcabc 输出 abc 示例 2 输入 cbacdcbc 输出 acdb 解题
  • 单链表实现(C++)

    C 实现单链表数据结构 myList h ifndef MYLIST H define MYLIST H typedef struct node int data struct node next Node class myList pub
  • 深入分析 (迪杰斯特拉算法) Dijkstra 算法实现原理

    迪杰斯特拉 Dijkstra 算法是典型最短路径算法 用于计算一个节点到其他节点的最短路径 它的主要特点是以起始点为中心向外层层扩展 广度优先搜索思想 直到扩展到终点为止 基本思想 通过Dijkstra计算图G中的最短路径时 需要指定起点s
  • 数据结构-二分搜索树转双向链表(Java)

    二分搜索树转双向链表 牛客JZ36 题目 思路 1 对二分搜索树进行中序遍历 2 将二分搜索树左节点和根节点相连接 右节点和根节点相连接 遍历左子树 连接 左子树尾部不为空 leftTail right pRootOfTree pRootO
  • 环形链表II

    环形链表II 给定一个链表的头节点 head 返回链表开始入环的第一个节点 如果链表无环 则返回 null 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 评测系统内部使用整数 pos
  • 数据结构与算法:线索二叉树

    线索二叉树 线索二叉树原理 首先我们要来看看这空指针有多少个呢 对于一个有n个结点的二叉链表 每个结点有指向左右孩子的两个指针域 所以一共是2n个指针域 而n个结点的二叉树一共有n 1条分支线数 也就是说 其实是存在2n n 1 n 1个空
  • 数据结构—判断一棵二叉树是否是完全二叉树(java)

    判断一棵二叉树是否是完全二叉树 一 完全二叉树的三种节点 完全二叉树有右树必有左树 节点编号和满二叉树一一对应 1 度为2的节点有n个 2 度为1的节点只能有1个 3 度为0的节点有n个 二 具体思路 1 分两个阶段 第一阶段所有节点都有左
  • 数据结构和算法(二)

    ArrayList 和LinkedList原理 代码实现 性能区别 1 ArrayList 为什么查询快 数组和集合区别 动态大小 数组的长度是固定的 ArrayList 数组集合 内部使用数组实现的 自定义ArrayList 如下 pub
  • 【EMC笔试题】N个整数中找出三个数,使其和的绝对值最小

    题目描述 给定包含N个数的无序数组S 可能包含负数 0 正数 求三个数A B C 使其和的绝对值最小 例如 S 9 0 1 3 6 A 9 B 3 C 6 MIN 0 算法解析 解法一 枚举3个数 O N N N 解法二 对S排序后枚举其中
  • 二叉树-判断另一棵树的子树(Java)

    另一棵的子树 力扣572题 题目 给你两棵二叉树 root 和 subRoot 检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树 如果存在 返回 true 否则 返回 false 二叉树 tree 的一棵子树包括 t
  • 二分查找(Binary Search) 常见问题解决方法总结

    缘由 今天浏览 何登成的技术博客 无意中发现了写的blog 二分查找 Binary Search 需要注意的问题 以及在数据库内核中的实现 随想总结下二分查找的常见问题 问题背景 今年的实习生招聘考试 我出了一道二分查找 Binary Se
  • 删除链表元素详解版(Java)

    目录 题目 1 一般方法 2 虚拟头节点法 3 递归法 题目 Leetcode203题 移除链表元素 给你一个链表的头节点 head 和一个整数 val 请你删除链表中所有满足 Node val val 的节点 并返回 新的头节点 1 一般
  • 递推典型算法:猴子爬山,跳台阶,爬楼梯(牛客网)、魔法深渊(快手)----Python、Java

    递推算法的基本思想是把一个复杂的 庞大的计算过程转化为简单过程的多次重复 其首要问题是得到相邻的数据项之间的关系 即递推关系 以猴子爬山为例 1 问题的提出 一个顽猴在一座有30级太假的小山上爬山活跃 猴子上一步可跳1级或者3级 试求上山的
  • 七大经典排序算法总结【详解】

    排序算法的分类 插入排序 选择排序 交换排序 归并排序 具体分类如图所示 这七种排序算法在我们生活中应用非常广泛 所用的场景各有不同 他的时间复杂度和空间复杂度也是不同的 一 插入排序 初始数据越接近有序 时间效率越高 1 直接插入排序 直
  • 数据结构与算法:KMP模式匹配算

    KMP模式匹配算法原理 如果主串S abcdefgab 其实还可以更长一些 我们就省略掉只保留前9位 我们要匹配的T abcdex 那么如果用BF算法的话 前5个字母 两个串完全相等 直到第6个字母 f 与 x 不等 如图5 7 1的 所示
  • LSM详解

    关于LSM结构的相关介绍 这篇文章比较好 特此纪录一下https yq aliyun com articles 767772

随机推荐

  • 极海MCU---keil5手动添加Pack

    下载pack文件 进入极海半导体官网 技术支持 点进去下拉 找到软件支持 找到对应的芯片 我使用的是APM32F1XX 软件支持中包括pack和SDK SDK中有库文件和一些例程 开发时会用到 都下载下来 keil5中安装pack 打开ke
  • IDEA无法创建目录

    在WEB INF目录下添加新目录 右键找不到new directory选项 可能是因为设置junit test目录导致 在项目上右键 选择 Make Directory as 之后再选择 unmarke开头的那个选项 下图中是选择过后的 已
  • luckysheet的使用——10.页面缩放报错问题

    在使用luckysheet的项目 切换到其他页面后 对该页面进行缩放的操作时 会触发luckysheet的resize操作 此时因为当前页面并非是luckysheet的调用页面 页面就会报错无法使用 需要对源码进行修改 阻止该方法的调用 1
  • NAT 技术详解

    一 什么是NAT 为什么要使用NAT NAT是将私有地址转换为合法IP地址的技术 通俗的讲就是将内网与内网通信时怎么将内网私有IP地址转换为可在网络中传播的合法IP地址 NAT的出现完美地解决了lP地址不足的问题 而且还能够有效地避免来自网
  • android如果将recyclerView嵌套进NestedScrollView中,可能导致加载更多一直执行

    今天在使用BaseQuickAdapter对RecyclerView进行绑定的时候 支持加载更多 却发现一直自动进行加载更多 最后发现问题是因为在NestedScrollView中的缘故 还不知为什么
  • Gradio学习笔记--Gradio基本用法和简单案例

    目录 1 配置Gradio 2 Hello World案例 2 1 基本使用 2 2 进阶使用 3 图像案例 3 常用类 Interface 和 Blocks 1 配置Gradio 使用 pip 安装 Gradio pip install
  • Feedsky 上 csdn blog 订阅数排名 (zz)

    1114356 programmer editor http blog csdn net programmer editorhttp feeds feedsky com csdn net programmer editor 23897 po
  • Ubuntu子系统下ssh安装、开启等

    查看win系统盘符 ls 加粗部分为代码 yt PC 20200902BXWS cd mnt yt PC 20200902BXWS mnt ls 因为电脑上有四个盘 外加一个虚拟环境wsl 在这里插入代码片 查看linux 目录 才是根目录
  • 出现了一个意外,不能完成你在设置中所要求的更改

    今天叫了师傅来装宽带 在配置IP地址的时候出现了这样的情况 本来我里面是有以前设置的IP地址和DNS服务器地址 现在要更改成自动获取 结果总是弹出这样的错误信息来 有点烦 师傅忙活了半天 也没能搞定 正巧到了饭点 他叫我先自己弄弄 他先回去
  • 嘉立创投板笔记-Altum Designer机械层对板子形状的影响

    本次采用最简单的zip下单 操作部分记录如下 板子边框层用嘉立创建议的机械层1 mechanical 1 虽然 3D图仅供参考 具体以实物为准 但是嘉立创自家的3D解析想必也能反映出一定的形状识别逻辑的 注意 本笔记仅供参考 具体说法以嘉立
  • facenet代码注释

    facenet识别中的embedding代码块 import tensorflow as tf import numpy as np import sys import os import copy sys path append alig
  • 原型绘制提效技巧分享

    不管是前台PM还是后台PM 在工作中或多或少都要进行原型设计 原型可以说是产品 开发 测试之间进行交流沟通最重要的文档之一 那么怎么把原型画得又快又好呢 从设计流程上看 原型设计节点包括但不限于梳理需求大纲 规划页面结构 完善信息结构 绘制
  • 存储器了解

    1 sdio 之前弄过一个wifi模块 在stm32单片机上 基于sdio开发的 SDIO Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块 内置无线网络协议IEEE802 11协议栈以及TCP IP协议栈 能够实现用户
  • vue中根据某一个值的改变而动态改变样式

    最近有一个需求 动态改变宽度 缩小就变420px 放大宽度就应该占满整个屏幕 第一步 在div那里定义一个ref的值 第二步 计算屏幕的宽度 第三步 监听数的改变 从而改变样式 4 完美 收工
  • 42、Flutter之GridView组件详解

    GridView GridView可以构建一个二维网格列表 其默认构造函数定义如下 GridView Key key Axis scrollDirection Axis vertical bool reverse false ScrollC
  • 手机内存RAM、ROM简介

    手机内存包含两个 一个是运行内存 RAM 一个是机身内存 ROM 两者的功能有所不同 运行内存是对手机操作系统和其它程序运行过程中 产生的临时数据进行存储的媒介 如果手机运行的程序比较多 占用运行内存空间较大 会对手机运行速度产生影响 手机
  • 安装ise14.7时遇到的问题

    安装软件我踩过不少坑 这就分享给大家 也当做自己一个记录 省的又花大量时间找解决方法 1 打开ise跳出如下警告并无法打开ise使用 警告VC 2008runtime libraries are not inastalled 翻译成中文 未
  • Unity移动端Input---触控

    void Update Input GetKeyDown KeyCode Space Input GetAxis Horizontal 按左 右箭头或A D键 Input GetAxis Vertical 按上 下箭头或w s键 Input
  • Selenium 官网打不开怎么办?

    Selenium 官网打不开怎么办 刚接触Selenium的时候发现官网打不开 很是奇怪 我以为网站挂了 后来才知道这个网站也被屏蔽了 那就不上了呗 可是学习资料哪里找 我找了一下 github啊 selenium在github上开源 上面
  • 单链表实现(C++)

    C 实现单链表数据结构 myList h ifndef MYLIST H define MYLIST H typedef struct node int data struct node next Node class myList pub