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

顺序表和链表基础操作的复习

顺序表

#include<iostream>
using namespace std;
静态
//#define MAX_SIZE 50
//typedef int ElemType;
//typedef struct
//{
//	int length;
//	ElemType nums[MAX_SIZE];
//}Sqlist;
//动态:
#define Init_SIZE 50
typedef int ElemType;
typedef struct
{int length;int maxsize;ElemType* nums;
}Sqlist;
bool ListInsert(Sqlist& l, int i, ElemType e)//在第i个位置插入元素e
{if (i<1 || i>l.length + 1) return false;for (int j = l.length; j >= i; --j)l.nums[j - 1] = l.nums[j];l.nums[i - 1] = e;return true;
}
bool ListInsert(Sqlist& l, int i, ElemType& e)//删除第二个位置的元素
{if (i<1 || i>l.length) return false;ElemType tmp = e;for (int j = i; j < l.length; ++j){l.nums[i - 1] = l.nums[i];}l.length--;return true;
}
//按值查找
int LocateElem(Sqlist& l, ElemType& e)//查找e是第几个位置的元素
{for (int i = 0; i < l.length; ++i){if (l.nums[i] == e) return i + 1;}return -1;
}
//按位查找
int GetElem(Sqlist& l, int i)//返回第i个位置的元素
{if (i<1 || i>l.length) return -1;return l.nums[i - 1];
}
bool Merge(Sqlist A, Sqlist B, Sqlist& C)
{if (A.length + B.length > C.maxsize) return false;int i = 0, j = 0, k = 0;while (i < A.length && j < B.length){if (A.nums[i] < B.nums[j]) C.nums[k++] = A.nums[i++];else C.nums[k++] = B.nums[j++];}while(i<A.length) C.nums[k++] = A.nums[i++];while(j<B.length) C.nums[k++] = B.nums[j++];C.length = k;return true;
}
//int main()
//{
//
//	return 0;
//}

链表

#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct LNode
{ElemType x;struct LNode* next;
}ListNode,*LinkList;
//按位查找
LinkList getElem(LinkList l, int i)//带头链表按序号查找结点值
{int j = 1;LinkList p = l->next;if (i == 0) return p;if (i < 0) return nullptr;while (j < i&&p){p = p->next;j++;}if (p) return p;else return nullptr;
}
//按值查找
LinkList LocateElem(LinkList l, ElemType e)
{LinkList p = l->next;while (p&&p->x!=e){p = p->next;}return p;
}
//插入
//后插
void InsertBack(LinkList l, ElemType e, int i)
{LinkList p = getElem(l, i - 1);LinkList s;s->x = e;s->next = NULL;s->next = p->next;p->next = s;
}
//前插
void InsertFront(LinkList l, ElemType& e, int i)
{LinkList p = getElem(l, i - 1);LinkList s;s->x = e;s->next = NULL;s->next = p->next;p->next = s;ElemType ret = e;swap(p->x, s->x);
}
//删除
void Erase(LinkList l, ElemType& e, int i)
{LinkList p = getElem(l, i - 1);LinkList q = p->next;p->next = q->next;free(p);
}typedef struct DNode
{ElemType x;struct DNode* next,*prev;
}DListNode, * DLinkList;
DLinkList getElem(DLinkList l, int i)//带头链表按序号查找结点值
{int j = 1;DLinkList p = l->next;if (i == 0) return p;if (i < 0) return nullptr;while (j < i && p){p = p->next;j++;}if (p) return p;else return nullptr;
}
void Insert(DLinkList l, int i, ElemType& e)
{DLinkList p = getElem(l, i - 1);DLinkList s;s->x = e;s->next = p->next;s->prev = p;p->next->prev = s;p->next = s;
}

相关文章:

顺序表和链表基础操作的复习

顺序表 #include<iostream> using namespace std; 静态 //#define MAX_SIZE 50 //typedef int ElemType; //typedef struct //{ // int length; // ElemType nums[MAX_SIZE]; //}Sqlist; //动态: #define Init_SIZE 50 typedef int ElemType; typedef struct {int lengt…...

[C#]winform部署官方yolov10目标检测的onnx模型

【框架地址】 https://github.com/THU-MIG/yolov10 【算法介绍】 今天为大家介绍的是 YOLOv10&#xff0c;这是由清华大学研究团队最新提出的&#xff0c;同样遵循 YOLO 系列设计原则&#xff0c;致力于打造实时端到端的高性能目标检测器。 方法 创新 双标签分配策略 众所…...

hmcode硬件编程1

在/home/golemon/hmcode/applications/sample/wifi-iot/app内创建文件夹。 这里创建了d_6_3文件夹 . ├── BUILD.gn ├── d_6_3 │ ├── BUILD.gn │ └── lab.c ├── demolink │ ├── BUILD.gn │ └── helloworld.c ├── iothardware │ ├── B…...

[C++][CMake] set_target_properties called with incorrect number of arguments

1 简介 这篇文章将探讨了在使用CMake构建C项目时&#xff0c;调用set_target_properties函数时参数数量不正确所引发的问题。 2 错误案例 以下为可能发生错误的案例 include_directories (${CMAKE_SOURCE_DIR}/common) find_package(Threads)add_library (libusbmuxd SHARE…...

AdamW算法

AdamW算法是优化算法Adam的一个变体&#xff0c;它在深度学习中广泛应用。AdamW的主要改进在于它正则化方法的改变&#xff0c;即通过权重衰减&#xff08;weight decay&#xff09;而不是L2正则化&#xff0c;来控制模型参数的大小&#xff0c;从而提升了训练的稳定性和效果。…...

【c++进阶(二)】STL之string类的模拟实现

&#x1f493;博主CSDN主页:Am心若依旧&#x1f493; ⏩专栏分类c从入门到精通⏪ &#x1f69a;代码仓库:青酒余成&#x1f69a; &#x1f339;关注我&#x1faf5;带你学习更多c   &#x1f51d;&#x1f51d; 1.前言 本章重点 本章主要介绍一些关键接口的模拟实现&#xff…...

PHPStudy(xp 小皮)V8.1.1 通过cmd进入MySQL命令行模式

PHPStudy是一个PHP开发环境集成包&#xff0c;可用在本地电脑或者服务器上&#xff0c;该程序包集成最新的PHP/MySql/Apache/Nginx/Redis/FTP/Composer&#xff0c;一次性安装&#xff0c;无须配置即可使用。MySQL MySQL是一个关系型数据库管理系统&#xff0c;由瑞典 MySQL A…...

php反序列化初步了解

一、定义 序列化&#xff08;串行化&#xff09;&#xff1a;将变量转换为可保存或传输的字符串的过程&#xff08;通常是字节流、JSON、XML格式&#xff09; 反序列比&#xff08;反串行化&#xff09;&#xff1a;把这个字符串再转化成原始数据结构或对象&#xff08;原来的…...

Windows系统电脑本地部署AI音乐创作工具并实现无公网IP远程使用

文章目录 前言1. 本地部署2. 使用方法介绍3. 内网穿透工具下载安装4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统电脑上快速本地部署一个文字生成音乐的AI创作工具MusicGPT&#xff0c;并结合cpolar内网穿透工具实现随时随地远程访问使用。 MusicG…...

玩转Linux进度条

准备工作&#xff1a; 一.关于缓冲区 首先&#xff0c;咱们先来一段有意思的代码&#xff1a; #include<stdio.h> #include<unistd.h> int main() {printf("you can see me");sleep(5);} 你可以在你的本地运行一下&#xff0c;这里我告诉大家运行结果…...

真国色码上赞,科技流量双剑合璧,商家获客新纪元开启

在数字化浪潮汹涌的今天,真国色研发团队依托红玉房网络科技公司的雄厚实力,凭借科技领先的核心竞争力,推出了创新性的商家曝光引流工具——码上赞。这款工具借助微信支付与视频号已有功能,为实体商家提供了一种全新的引流获客方式,实现了科技与商业的完美融合。 科技领先,流量黑…...

C++:特殊类设计和四种类型转换

一、特殊类设计 1.1 不能被拷贝的类 拷贝只会放生在两个场景中&#xff1a;拷贝构造函数以及赋值运算符重载&#xff0c;因此想要让一个类禁止拷贝&#xff0c;只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98&#xff1a; 1、将拷贝构造函数与赋值运算符重载只…...

(南京观海微电子)——屏幕材质及优缺点对比

LED/LCD LCD&#xff08;Liquid Crystal Ddisplay&#xff09;即“液晶显示器”&#xff0c;由两块偏光镜、两块薄膜晶体管以及彩色滤光片、光源&#xff08;荧光灯&#xff09;、显示面板组成的成像元器件。 LED&#xff08;Light Emitting Diode&#xff09;即“发光二极管…...

uniapp uni.showModal 出现点击没有反应

uni.showModal 里面有好些参数 点击后不弹出 是因为 出现了 null 或者undifind 字符 特别是content 里面 title: 提示, cancelColor: #000000, editable: true,//是否显示输入框 content: item.text?item.te…...

Vue3-VueRouter

客户端 vs. 服务端路由​ 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果。当我们在一个传统的服务端渲染的 web 应用中点击一个链接时&#xff0c;浏览器会从服务端获得全新的 HTML&#xff0c;然后重新加载整个页面。 然而&#xff0c;在单页面应用中&a…...

【图像处理与机器视觉】频率域滤波

知识铺垫 复数 CRjI 可以看作复平面上的点&#xff0c;则该复数的坐标为&#xff08;R&#xff0c;I&#xff09; 欧拉公式 e j θ c o s θ j s i n θ e^{j\theta} cos \theta j sin \theta ejθcosθjsinθ 极坐标系中复数可以表示为&#xff1a; C ∣ C ∣ ( c o s…...

python第五次作业

1.请实现一个装饰器&#xff0c;每次调用函数时&#xff0c;将函数名字以及调用此函数的时间点写入文件中 # 导入datetime模块&#xff0c;用于获取当前时间并格式化输出 import datetime# 定义一个装饰器工厂函数log_funcName_time&#xff0c;它接受一个参数time def log_fu…...

JS面向对象编程

目录 实例对象与new命令this关键字对象的原型和继承Object对象的相关方法浅拷贝和深拷贝严格模式实例对象与new命令 构造函数 构造函数的特点有两个: 函数体内部使用了this关键字,代表了所要生成的对象实例。生成对象的时候,必须使用new命令。var Vehicle...

kotlin1.8.10问题导致gson报错TypeToken type argument must not contain a type variable

书接上回&#xff0c;https://blog.csdn.net/jzlhll123/article/details/139302991。 之前我发现gson报错后&#xff1a; gson在2.11.0给我的kotlin项目代码报错了。 IllegalArgumentException: TypeToken type argument must not contain a type variable 上次解释原因是因为&…...

数据库漫谈-国产数据库

国产数据库突然大量出现&#xff0c;下表列出&#xff08;按首字母排序 &#xff09; AISWare AntDB&#xff0c;亚信科技。 AliSQL&#xff0c;阿里云。 Analyticdb&#xff0c;阿里云。 ArkDB&#xff0c;北京极数云舟科技有限公司。 CynosDB&#xff0c;腾讯云 DM&…...

嵌入式开发必备:三大代码对比工具深度评测

1. 代码对比工具概述作为一名嵌入式开发工程师&#xff0c;我每天都要处理大量的代码修改和版本对比工作。在多年的开发实践中&#xff0c;我发现选择合适的代码对比工具能极大提升工作效率。虽然Beyond Compare是业内公认的标杆产品&#xff0c;但实际工作中我们还有更多选择&…...

FPGA实战:手把手教你用Vivado的MMCM IP核动态调整ADC采样时钟相位(附仿真避坑指南)

FPGA实战&#xff1a;Vivado MMCM动态相位调整的工程化实现与深度避坑指南 在高速数据采集系统中&#xff0c;ADC采样时钟相位的精确控制往往是决定信号完整性的关键因素。当FPGA工程师发现采样数据存在周期性抖动或眼图闭合时&#xff0c;动态调整时钟相位便成为优化系统性能的…...

快速掌握C#语言基础知识点(16.访问修饰符)

关注我的动态 namespace _16.访问修饰符 {internal class Program {//私有内部类&#xff0c;被嵌套定义&#xff0c;能被直接外部类访问&#xff0c;外部类之外无法访问private class Class_Private{//公有public int a { get; set; }//私有private int b { get; set; }//受保…...

VMware 16 安装win,Win11推荐下载链接(不要选arm)

目录Win11下载链接待续、更新中......Win11下载链接 ed2k://|file|zh-cn_windows_11_consumer_editions_version_22h2_updated_sep_2022_x64_dvd_23d39103.iso|5579771904|33C7EC6485AD8C55ADFB550FA1A0F270|/ 待续、更新中… 1 顿号、: 先使用ctrl. &#xff0c;再使用一遍切…...

Qwen3-TTS-12Hz-1.7B-Base应用场景:智能音箱多语种交互语音引擎升级

Qwen3-TTS-12Hz-1.7B-Base应用场景&#xff1a;智能音箱多语种交互语音引擎升级 重要提示&#xff1a;本文仅讨论技术实现方案&#xff0c;所有内容均基于公开技术文档和测试数据&#xff0c;不涉及任何政治敏感内容&#xff0c;完全符合内容安全规范。 1. 智能音箱语音交互的现…...

MyBatis-Plus 大表分页 count () 性能瓶颈深度解析

在使用MyBatis-Plus进行大表分页查询时&#xff0c;你是否通过日志发现&#xff0c;分页插件总会先执行一条count()语句&#xff0c;且这条count()在千万级数据下耗时极长&#xff0c;严重拖慢整体响应&#xff1f;本文将从源码层面剖析MyBatis-Plus分页count()的执行机制&…...

MediaPipe Pose镜像体验:CPU也能毫秒级检测,无需GPU免配置

MediaPipe Pose镜像体验&#xff1a;CPU也能毫秒级检测&#xff0c;无需GPU免配置 1. 引言&#xff1a;CPU上的实时姿态检测革命 在计算机视觉应用中&#xff0c;人体姿态检测一直是个热门领域。从健身应用的动作分析到虚拟试衣的体型测量&#xff0c;这项技术正在改变我们与…...

告别“傻跟车”:聊聊PLUTO如何用对比学习让自动驾驶学会“思考”与“决策”

告别“傻跟车”&#xff1a;PLUTO如何用对比学习重塑自动驾驶决策逻辑 清晨的都市高架上&#xff0c;一辆银色轿车正以恒定车距跟随前车匀速行驶。当领头车辆突然急刹时&#xff0c;这辆搭载最新PLUTO系统的自动驾驶汽车并未机械复制前车动作&#xff0c;而是同步检测到百米外转…...

W25Q128JWSIQ 串行 NOR Flash 存储器 Winbond 全新原装 进口芯片IC

W25Q128JWSIQ 是华邦&#xff08;Winbond&#xff09;推出的一款1.8V 128Mbit 高速串行 NOR Flash 存储器&#xff0c;采用 133MHz 四线 SPI 接口和 SOIC-8 封装&#xff0c;具备超低功耗、工业级宽温工作范围和高可靠性等特性&#xff0c;是物联网设备、汽车电子、工业控制等低…...

CAD图纸转PDF的4种方法,简单易懂,新手也能轻松学会!

在实际工作中&#xff0c;CAD图纸格式&#xff08;如DWG、DXF&#xff09;仅能通过AutoCAD等专业软件打开&#xff0c;而PDF格式作为通用文档&#xff0c;支持跨设备、跨平台查看&#xff0c;无需安装CAD软件。这种转换的必要性体现在&#xff1a;1. 文件分享安全&#xff1a;P…...