408-数据结构

news2025/2/13 9:14:22

数据结构在学什么?
1.用代码把问题信息化
2.用计算机处理信息
在这里插入图片描述
ch1
在这里插入图片描述
数据:数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
ch2
在这里插入图片描述

//假设线性表的元素类型为ElemType,则静态分配的顺序表存储结构描述为
#define MaxSize 50				//定义线性表的最大长度
typedef struct {
	ElemType data[MaxSize];		//顺序表的元素
	int length;					//顺序表的当前长度
}SqList;						//顺序表的类型定义

//动态分配的顺序表存储结构描述为
#define InitSize 100			//表长度的初始定义
typedef struct {
	ElemType* data;				//指示动态分配数组的指针
	int MaxSize, length;		//顺序表的最大容量和当前个数
}SeqList;						//动态分配数组顺序表的类型定义
//C的初始动态分配语句为
L.data = (ElemType*)malloc(sizeof(ElemType) * InitSize);
//C++的初始动态分配语句为
L.data = new ElemType[InitSize];
#define MaxSize 50
//静态分配的顺序表,定义一个数组,它包括数据类型和数据长度
typedef struct {
	int data[MaxSize];
	int length;				//表示数据表的当前长度
}SqList;

//基本操作——初始化一个顺序表
void InitList(SqList& L) {
	//for (int i = 0; i < MaxSize; i++)
	//	L.data[i] = 0;
	L.length = 0;
}
int main() {
	SqList L;
	InitList(L);
	//尝试“违规”打印整个data数组
	for (int i = 0; i < MaxSize; i++)//i < L.length
		printf("data[%d] = %d ", i, L.data[i]);
	return 0;
}
#define InitSize 10
//动态分配的顺序表,定义一个指针,它包括数据类型,但需要分配数据长度
typedef struct {
	int* data;
	int MaxSize, length;	//表示数据表的最大长度和当前长度
}SqList;

void InitList(SqList& L) {
	L.data = (int*)malloc(sizeof(int) * InitSize); //开辟内存空间
	L.MaxSize = InitSize;
	L.length = 0;
}

void IncreaseSize(SqList& L, int len) {
	int* p = L.data;		//临时变量p暂存L.data的内容
	L.data = (int*)malloc(sizeof(int) * (L.MaxSize + len)); //开辟新的内存空间
	for (int i = 0; i < L.length; i++) {
		L.data[i] = p[i];	//暂存的的内容还给L.data
	}
	free(p);				//释放p的内存空间
}

int main() {
	SqList L;
	InitList(L);
	IncreaseSize(L, 5);

	return 0;
}
bool ListInsert(SqList& L, int i, int e) {//在第i个位置插入元素e,下标为i-1
	if (i<1 || i> L.length + 1 || L.length == MaxSize) {
		return false;
	}
	for (int j = L.length; j >= i; j--) {
		L.data[j] = L.data[j - 1];
	}
	L.data[i - 1] = e;
	L.length++;
	return true;
}

bool ListDelete(SqList& L, int i, int& e) {
	if (i<1 || i>L.length) {
		return false;
	}
	e = L.data[i - 1];
	for (int j = i; j < L.length - 1; j++) {//下标为i-1的元素不要,从i开始逐个前移
		L.data[j - 1] = L.data[j];
	}
	L.length--;
	return true;
}

int GetElem(SqList L, int i) {
	return L.data[i - 1];
}

int LocateElem(SqList L, int e){
	for (int i = 0; i < L.length; i++) {
		if (L.data[i] == e)
			return i + 1;				//返回的是位序,不是下标
	}
	return 0;
}

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

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

相关文章

spring cloud 使用 webSocket

1.引入依赖,(在微服务模块中) <!-- Spring WebSocket --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.新建文件 package com.ruoyi.founda…

安科瑞 Acrel-2000ES:解锁储能管理新高度,引领能源未来!

安科瑞 崔丽洁 在能源转型的关键时期&#xff0c;高效的储能管理成为众多企业和项目的核心需求。今天&#xff0c;就给大家介绍一款储能管理的 “神器”—— 安科瑞 Acrel-2000ES 储能能量管理系统。 安科瑞电气可是行业内的 “明星企业”&#xff0c;2003 年成立&#xff0c;2…

基于Django以及vue的电子商城系统设计与实现

基于Django以及vue的电子商城系统设计与实现 引言 随着电子商务的快速发展&#xff0c;越来越多的企业和个人选择搭建线上商城&#xff0c;以提供更加便捷的购物体验。本文基于Python开发了一套电子商城系统&#xff0c;后端采用Django框架&#xff0c;前端使用Vue.js&#x…

电脑变慢、游戏卡顿,你的SSD固态可能快坏了!

电脑用久了&#xff0c;很多人都会感觉速度变慢&#xff0c;开机变慢、文件复制时间变长&#xff0c;甚至莫名其妙的卡顿。你可能怀疑是系统问题&#xff0c;或者内存不够&#xff0c;但往往被忽略的一个关键因素——你的硬盘&#xff0c;可能正在悄悄老化。 硬盘寿命不是永久的…

AI使用场景简单测试

前言 今天来分享下AI的2个实用场景&#xff0c;我这里是使用的博主&#xff1a;小虚竹&#xff0c;搭建的AI服务&#xff0c;用的ChatGPT 4O模型&#xff0c;主要是试了3个场景&#xff0c;服装设计、直播带货话术、检验报告分析。 一、服装设计 对于最后需要的裁片设计上的尺寸…

【并发控制、更新、版本控制】.NET开源ORM框架 SqlSugar 系列

系列文章目录 &#x1f380;&#x1f380;&#x1f380; .NET开源 ORM 框架 SqlSugar 系列 &#x1f380;&#x1f380;&#x1f380; 文章目录 系列文章目录一、并发累计&#xff08;累加&#xff09;1.1 单条批量累计1.2 批量更新并且字段11.3 批量更新并且字段list中对应的…

DeepSeek-R1本地搭建

1. 前言 现在deepseek火上天了&#xff0c;因为各种应用场景,加上DeepSeek一直网络异常&#xff0c;所以本地部署Deepseek成为大家的另一种选择。 目前网络上面关于DeepSeek的部署方式有很多&#xff0c;但是太麻烦了&#xff0c;本文是一篇极为简单的DeepSeek本地部署方式&…

查出 product 表中所有 detail 字段包含 xxx 的完整记录

您可以使用以下 SQL 查询语句来查出 product 表中所有 detail 字段包含 oss.kxlist.com 的完整记录&#xff1a; SELECT * FROM product WHERE INSTR(detail, oss.kxlist.com) > 0;下面是detail字段包含的完整内容 <p><img style"max-width:100%;" src…

Redis存储⑥Redis五大数据类型之 Zset

目录 1. Zset 有序集合 1.1 Zset 有序集合常见命令 zadd zcard zcount zrange zrevrange zrangebyscore&#xff08;弃用&#xff09; zpopmax bzpopmax zpopmin bzpopmin zrank zrevrank zscore zrem zremrangebyrank zremrangebyscore zincrby 1.2 Zset有…

将Excel中的图片保存下载并导出

目录 效果演示 注意事项 核心代码 有需要将excel中的图片解析出来保存到本地的小伙子们看过来&#xff01;&#xff01;&#xff01; 效果演示 注意事项 仅支持xlsx格式&#xff1a;此方法适用于Office 2007及以上版本的.xlsx文件&#xff0c;旧版.xls格式无法使用。 图片名…

SQL注入之布尔和时间盲注,sqli-labs

实验环境&#xff1a; sqli-labs&#xff0c;小皮面板搭建&#xff0c;edge浏览器 apache&#xff1a;2.4.39&#xff0c;MySQL&#xff1a;5.7 PHP&#xff1a;5.39 Python&#xff08;pycharm2023&#xff09;:3 less-8 布尔盲注&#xff1a; 1.我这里是采用最简单的直接采…

基于云计算、大数据与YOLO设计的火灾/火焰目标检测

摘要&#xff1a;本研究针对火灾早期预警检测需求&#xff0c;采用在Kaggle平台获取数据、采用云计算部署的方式&#xff0c;以YOLO11构建模型&#xff0c;使用云计算服务器训练模型。经训练&#xff0c;box loss从约3.5降至1.0&#xff0c;cls loss从约4.0降至1.0&#xff0c;…

YOLO自定义数据集实现K折交叉验证——K-Fold Cross Validation

实现K折交叉验证&#xff08;K-Fold Cross Validation&#xff09;对于YOLO&#xff08;You Only Look Once&#xff09;自定义数据集的目标检测任务可以显著提升模型的可靠性和泛化能力。 1. 数据集准备 首先&#xff0c;你需要确保你的数据集符合YOLO的格式&#xff0c;具体…

go语言简单快速的按顺序遍历kv结构(map)

文章目录 需求描述用map实现按照map的key排序用二维切片实现用结构体实现 需求描述 在go语言中&#xff0c;如果需要对map遍历&#xff0c;每次输出的顺序是不固定的&#xff0c;可以考虑存储为二维切片或结构体。 假设现在需要在页面的下拉菜单中展示一些基础的选项&#xff…

【竞技宝】LOL-LPL:EDG3-0零封LNG

北京时间2月12日,英雄联盟LPL2025正在如火如荼的进行之中,昨日迎来LNG对阵EDG,以下是本场比赛的详细战报。 第一局: EDG:杰斯、赵信、维克托、女枪、芮尔 LNG:猴子、猪妹、飞机、韦鲁斯、布隆 首局比赛,EDG在蓝色方,LNG在红色方。阵容方面,EDG点出了杰斯、赵信、维克托、女枪…

在fedora41中安装钉钉dingtalk_7.6.25.4122001_amd64

在Fedora-Workstation-Live-x86_64-41-1.4中安装钉钉dingtalk_7.6.25.4122001_amd64.deb 到官网下载钉钉Linux客户端com.alibabainc.dingtalk_7.6.25.4122001_amd64.deb https://page.dingtalk.com/wow/z/dingtalk/simple/ddhomedownload#/ 一、直接使用dpkg命令安装deb包报错…

看期货用的指标,可以提示买卖点和K线转折变颜色的主图指标源码下载

A:MA(CLOSE,17)ABS(MA(CLOSE,17)-REF(MA(CLOSE,17),1)); B:MA(CLOSE,17)MA(CLOSE,17)-REF(MA(CLOSE,17),1); 分界线:IF(MA(CLOSE,17)<B,B,MA(CLOSE,17)),COLORFF00FF,LINETHICK2; 操作线:分界线-(EMA(C,3)-分界线),COLOR00FFFF,LINETHICK2; GUP:MA(C,5),COLORWHITE,LINE…

【PS 2022】Adobe Genuine Service Alert 弹出

电脑总是弹出Adobe Genuine Service Alert弹窗 1. 不关掉弹窗并打开任务管理器&#xff0c;找到Adobe Genuine Service Alert&#xff0c;并右键进入文件所在位置 2 在任务管理器中结束进程并将文件夹中的 .exe 文件都使用空文档替换掉 3. 打开PS不弹出弹窗&#xff0c;解决&a…

30天开发操作系统 第 20 天 -- API

前言 大家早上好&#xff0c;今天我们继续努力哦。 昨天我们已经实现了应用程序的运行, 今天我们来实现由应用程序对操作系统功能的调用(即API, 也叫系统调用)。 为什么这样的功能称为“系统调用”(system call)呢&#xff1f;因为它是由应用程序来调用(操作)系统中的功能来完…

蓝桥杯(B组)-每日一题(求最大公约数最小公倍数)

题目&#xff1a; 代码展现&#xff1a; #include<iostream> using namespace std; int main() {int m,n,x,y;cin>>m>>n;//输入两个整数int b;bm%n;//取余数xm;//赋值yn;while(b)//当余数不为0的时候{xy;//辗转相除求最小公约数yb;bx%y;}cout<<y<&…