青岛大学_王卓老师【数据结构与算法】Week02_06_类C语言有关操作补充1_学习笔记

游戏经济数值模型的搭建过程——以标准卡牌游戏为例 一、总体规划 1.玩家分类 首先我们按照下表对玩家进行分类 付费能力即为充值额度;充值行为比如购买月卡/购买钻石;消费行为比如用钻石抽卡 在这里我们假设玩家是理性的,即玩家会以追求更高的性价比为目标进行充值与消费(即小R会优先买首冲+月卡,而不是买一个无用的无属性皮肤) 不同类型玩家之间的差异,实际上就主要由这些行为的差异而决定。 注:早期游戏制作的时候,活跃程度也是区分玩家类型的一个重要依据。不过目前现在游戏中有各种手段抹平了不同活跃玩家的差异(体力限制,活跃时间长的收益递减).. 阅读详情
本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

王卓老师 数据结构与算法第 02 周第 06 个原视频链接

📚 Week02_06_类C语言有关操作补充1

📚 补充01:数据元素类型说明

顺序表类型定义

typedef	struct
{
	ElemType data[];
    int length;
}SqList;
// 顺序表类型

ElemType 代表顺序表 data[] 中数据元素类型。例如,

顺序表 data[] 中存放的是字符串,则 ElemType 可以替换成 char。

在多项式求和时,顺序表 data[] 中存放的是 float 类型的多项式系数,则 ElemType 可以替换成 float。

也可以在程序开头定义 ElemType 的类型,例如

typedef char ElemType;

typedef	struct
{
	ElemType data[];
    int length;
}SqList;
// 顺序表类型

如果顺序表 data[] 中数据元素类型是整型,则可以有

typedef int ElemType;

typedef	struct
{
	ElemType data[];
    int length;
}SqList;
// 顺序表类型

如果定义的顺序表 data[] 中数据元素类型是复杂类型,

例如,多项式求和中,顺序表 data[] 的数据元素不仅要存系数,还要存指数。

此时,可以将 顺序表 data[] 的数据元素类型定义成结构体类型,有

typedef int ElemType;

typedef	struct
{
	float p;
    int e;
}Polynomial;

typedef	struct
{
	Polynomial *elem;
    int length;
}SqList;
// 顺序表类型
📚 补充02:数组定义
数组静态分配
typedef	struct
{
	ElemType data[MaxSize];
    int length;
}SqList;
// 顺序表类型
数组动态分配
typedef	struct
{
	ElemType *data;
    int length;
}SqList;
// 顺序表类型

数组名 data 存放的是数组的第一个元素 data[0] 的地址,也就是数组的基地址,数组的首地址。

既然数组名 data 存放的是地址,则可以直接定义一个指针变量,存放数组的首地址。

可以用动态分配函数给数组动态分配内存。

SqList L;
L.data = (ElemType *)malloc(sizeof(ElemType)*MaxSize);
📚 补充03:C 语言的内存动态分配
SqList L;
L.data = (ElemType *)malloc(sizeof(ElemType)*MaxSize);
⭐ malloc (m) 函数

开辟 m 字节长度的地址空间,并返回这段空间的首地址。

⭐ sizeof (x) 运算

计算变量 x 的长度

x 既可以是变量,也可以是变量类型,计算变量类型所占用的字节数。

如果 ElemType 的类型是 char 类型,一个数据元素占用 1 个字节;

如果 ElemType 的类型是 int 类型,一个数据元素占用 4 个字节;

例如,多项式求和中,ElemType 的类型是复杂类型,包含一个系数变量和一个指数变量。

系数变量是 float 类型,指数变量是 int 类型,一个 ElemType 数据元素占用 8 个字节。

如果 MaxSize = 100,则malloc 函数在内存中申请 8 × 100 = 800 个字节。

❓800个字节空间如何分配?是分配成 200 个小空间,还是 100 个小空间?

🔖通过数据元素的类型 (ElemType *) 告诉计算机如何分配这 800 个字节空间。

如果 ElemType 的类型是 char 类型,计算机将 800 个字节成 800 个字节空间;

如果 ElemType 的类型是 int 类型,计算机将 800 个字节成 200个字节空间;

如果 ElemType 的类型是上述负责类型,计算机将 800 个字节成 100 个字节空间;

❓ (ElemType *) 中 * 是什么意思?

🔖 括号 ( ) 表示强制类型转换运算。

(int) 表示强制转换成 int 类型,(float) 表示强制转换成 float 类型。(int * ) 表示强制转换成 指向 int 类型的指针。

(ElemType *) 表示强制转换成 ElemType 数据类型的指针。

因为数组中第一个元素首地址是 ElemType 的指针,所以需要 (ElemType *) 进行强制转换。

通过

L.data = (ElemType *)malloc(sizeof(ElemType)*MaxSize);

这种方式,就可以获得 sizeof(ElemType)*MaxSize 这么大块的基地址,即第一个元素的基地址。

有了第一个元素基地址,就可以通过指针或是数组下标获取其他元素。

⭐ free § 函数

释放指针 p 所指变量的存储空间,即彻底删除一个变量。

⭐ 需要加载头文件 <stdlib.h>
📚 补充04:C++动态存储分配
new 类型名T (初值列表)
功能:申请用于存放 T 类型对象的内存空间,并依初值列表赋以初值结果值。
成功:T 类型的指针,指向新分配的内存
失败:0(NULL)

例如:

int *p1 = new int;

new 一个 int,从内存中动态分配一个 int 型的 4 个字节的空间,

new 出来的空间,最后得到该空间的地址,并赋值给指针变量 p1。

int *p1 = new int(10);

new 一个存储空间,并将该存储空间赋以初值 10,并将分配的存储空间的地址赋值给指针变量 p1。

指针变量 p1 指向新分配的空间的地址,指针变量 p1 存放的是新分配空间的地址。

delete 指针 p
功能:释放指针 p 所指向的内存。p 必须是 new 操作的返回值。
📚 补充05:C++ 中参数传递

📌 函数调用时,传送给形参表的实参必须与形参有三个一致:

⭐ 类型一致,

⭐ 个数一致

⭐ 顺序一致。

📌 参数传递有两种方式:

⭐ 传值方式:参数为整型,实型,字符型等。

⭐ 传地址:

➔ ➔ 参数为指针变量

➔ ➔ 参数为引用类型

➔ ➔ 参数为数组名

学习笔记最后有微信公众号:惟CPP,欢迎关注,一起交流学习进步~

两点调制原理以及RF DAC和PLL SDM两条输入路径理解 特性数据本质原始数字比特流 (0/1)平滑后的预失真波形数据连接对象Σ-Δ调制器 (SDM)的小数输入RF DAC在系统中的角色主调制路径:通过改变PLL分频比产生频率偏移辅助补偿路径:通过RF DAC产生补偿电压,校正PLL失真可否加入延时可以且必须。用于数字时序对齐,对性能无影响。绝对不可以。会导致补偿失配,严重破坏信号频谱。功能目标实现数字域的频率调制确保模拟域的波形和频谱完美因此,在您所描述的这种先进发射机架构中,2-point数据是数字指令,送给SDM; 阅读详情

相关推荐

利用HipSTR从二代测序数据中精准解析短串联重复序列(STR)的遗传多态性

本文详细介绍了如何利用HipSTR工具从二代测序(NGS)数据中精准解析短串联重复序列(STR)的遗传多态性。通过三步走策略,HipSTR能够高效识别STR区域、估算重复次数并判定基因型,适用于法医鉴定、疾病研究和细胞系鉴定等多个领域。文章还提供了实战操作指南和常见问题解决方案,帮助研究者充分利用NGS数据开展STR分析。

weixin_28702105的博客 482

补充:类C语言有关操作

B站王卓老师的数据结构与算法基础网课

qq_51447247的博客 1218

避坑指南:微信小程序蓝牙广播在iOS上的那些‘坑’(附serviceUuids传值解决方案)

本文深入解析微信小程序蓝牙广播在iOS平台上的开发难点,特别是`serviceUuids`传值解决方案。通过对比iOS与安卓的蓝牙协议实现差异,提供实战编码策略和硬件端配合方案,帮助开发者有效规避兼容性问题,提升蓝牙外围设备开发效率。

weixin_30316097的博客 422

ElemType

ElemType是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。 因为数据结构是讨论抽象的数据结构和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“elemtype”代表所有可能的数据类型,简单明了的概括了整体。在算法中,除特别说明外,规定ElemType的默认是int型。 elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型 为了使程序可读性强,并且便于

LXC_007的博客 3883

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

AMBA-AXI and ACE协议详解(十)

本章介绍了ACE协议中的Barrier事务机制,包括内存屏障和同步屏障两种类型。

Crazzy_M的博客 612

数据结构之ElemType

数据结构之ElemType 也可能写作Elem等,主要是为了定义方便而存在的,一般出现ElemType的代码,都会在代码开头或者引用的文件中有一句typedef 数据类型 ElemType;的定义。 //主要是为了方便,例:以后如果想修改ElemType的类型为long,只需写一句typedef long ElemType; 例: typedef int ElemType; ElemType e;...

handsomedad的博客 1万+

DeepLabv3+改进专栏

🔥【DeepLabv3+改进专栏!探索语义分割新高度】🌟 你是否在为图像分割的精度与效率发愁?📢 本专栏重磅推出:✅ 独家改进策略:融合注意力机制、轻量化设计与多尺度优化✅ 即插即用模块:ASPP+升级、解码器。

AIcurator的博客 2575

简单介绍一下elemtype

在这个示例中,我们将 "ElemType" 定义为整数类型(int),并使用它来表示线性表中的元素类型。这种抽象定义允许在不更改代码结构的情况下,将数据结构的元素类型轻松更改为其他类型,例如 double 或自定义结构体。在实际编程中,"ElemType" 通常用于泛型编程或抽象数据类型的定义,以便稍后可以将其具体化为特定的数据类型,如整数、字符、结构体或其他数据类型,具体取决于正在处理的数据结构或算法。它并没有一个具体的定义,而是一种通用的命名约定,用于表示特定数据结构中的元素类型。

2302_77790501的博客 1万+

从零开始:C#上位机集成YOLO完成摄像头目标追踪(保姆级教程)

新手入门C#上位机+YOLO做摄像头目标追踪,最忌讳的是“只抄代码,不懂逻辑”。这个教程不仅给了完整代码,还把核心原理和踩坑点都讲清楚了,新手跟着走,不仅能跑通demo,还能理解为什么这么写。如果你们在运行时遇到具体问题,比如模型导出失败、代码报错,都可以在评论区留言,我会一一解答。后续也可以出一期工业相机+YOLO目标追踪的教程,帮助大家把demo落地到实际生产中。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1025

数仓建模:维度表合并时,如何处理可能出现的数据冲突?

通过以上方法,可以有效地处理维度表合并时可能出现的数据冲突,确保合并后的数据完整性、一致性和准确性,满足业务需求和数据仓库的性能要求。在合并过程中,需要根据实际情况选择合适的处理方法,并进行充分的测试和验证。(2)实战中总结的SQL技巧,帮助SQLBOY在SQL语言上有质的飞越,无论你应对业务难题及面试都会游刃有余【如果您觉得本文还不错,对你有帮助,那么不妨可以关注一下我的数字化建设实践之路专栏,这里的内容会更精彩。技巧总结,让你认识不一样的数仓。,数据库会抛出异常,可根据异常处理机制解决。

石榴姐yyds 1132

算符与数据结构 --- 类C语言有关操作和补充

注意malloc函数返回的是堆区中开辟的内存空间的首个内存单元的地址(一个内存单元的大小是一个字节)此时这个地址的步长为1,一般来说都是无法直接拿来用的,所以我们还需要将这个地址进行强制类型转换,转换为我们想要的数据类型的指针形式,将步长调整为我们想要的大小,方便我们存储元素。2.数组动态分配中,结构体类型中的指针变量指向的是我们在堆区动态开辟的动态数组的首元素的地址(基地址)--- 通过malloc方法开辟,如上。1.上面这种分别是数组静态分配(数组的长度固定)和数组动态分配(数据的长度可变)

qq_51947882的博客 815

水与光的奇妙“切割之舞”:水导激光切割技术探秘

水导激光切割技术的诞生,是材料加工领域不断追求高精度、高质量加工的成果。传统激光切割技术在加工过程中,材料会因瞬间高温而产生热变形、热影响区大以及切割面粗糙等问题,这些弊端在对一些高精度、热敏性材料的加工中尤为突出 ,迫切需要一种新的技术来克服这些难题。水导激光切割技术的起源可以追溯到 20 世纪 80 年代。1986 年,德国公司 Aesculap-Werke AG 首次提出了将水流引入激光切割过程的创新想法,并制造出首代水导激光设备。不过,当时的技术尚处于雏形阶段,仅仅是在光纤出口添加了一小柱水流,激光

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1672

青岛大学_王卓老师【数据结构与算法】Week02_07_类C语言有关操作补充2_学习笔记

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 232

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

青岛大学_王卓老师【数据结构与算法】Week05_13_队列的顺序表示和实现1_学习笔记

base[0] 接在 base[MAXQSIZE - 1] 之后,若 rear + 1 == M,则令 rear = 0;当 rear 为 maxqsize 时,若向量的开始端空着,又可从头使用空着的空间。(2) 将队空间设想成一个循环的表,即分配给队列的 m 个存储单元可以循环使用。设数组大小为 MAXQSIZE,rear = MAXQSIZE 时,发生溢出。就好像下标为 0 的位置是接在下标为 5 的位置后面。每移动一次,队中元素都要移动。循环队列:循环使用为队列分配的存储空间。

DMLearner的博客 1215

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

青岛大学_王卓老师【数据结构与算法】Week02_08_线性表顺序表示和实现3_学习笔记

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

DMLearner的博客 304

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

青岛大学_王卓老师【数据结构与算法】Week04_12_案例分析与实现2_学习笔记

则循环比较 p1 和 p2 所指结点对应的指数值(p1->expn 与 p2->expn),有下列 3 种情况。当 p1->expn < p2->expn 时,则应摘取 p1 所指结点插入到 " 和多项式 " 链表中去;当 p1->expn > p2->expn 时,则应摘取 p2 所指结点插入到 " 和多项式 " 链表中去;当 p1->expn == p2->expn 时,则将两个结点种的系数相加。若和不为零,则修改 p1 所指结点的系数值,同时删除 p2 所指结点。(1) 创建一个新数组 c。

DMLearner的博客 702

青岛大学_王卓老师【数据结构与算法】Week05_14_队列的顺序表示和实现2_学习笔记

/ 最大队列长度// 初始化的动态分配存储空间// 头指针,若队列不空,则指向队列头元素int front;// 尾指针,若队列不空,则指向队尾元素的下一个位置int rear;}SqQueue;

DMLearner的博客 1316

C语言 ElementType

在C语言数据结构中,关于数据元素的类型定义均用“ ElemType e;”来表示,其中e是表示数据元素的变量,而ElemType则是它的类型,ElemType的含义就是“数据元素的类型”,是一个抽象的概念,是表示我们所要使用的数据元素应有的类型。 ElemType是数据结构上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。 因为数据结构是讨论抽象的数据结构和算法,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程用 “elemt

Big Fish 大鱼 的个人博客 1万+

系统掌握数据结构4栈 C++实现

1. 逻辑结构 2. 物理结构 1. 顺序存储 2. 链式存储 3. 共享栈 3. 抽象数据类型(操作、算法) 1. 顺序存储的抽象数据类型 2. 链式存储的抽象数据类型 4.栈的应用 4.1括号匹配 4.2表达式求值 4.3 递归 5. 总结与分析

泥签的博客 2946

数据结构之栈的使用

栈是常见的一种数据结构,了解它有助于对复杂数据的处理

路过的熊的博客 1275

探秘ElemType:解密其神秘用途,让你对其用心独具的奥秘一目了然!

ElemType:代码美学的化身,为程序员们带来的便利与灵活性令人着迷!将其引入,无需逐个修改变量类型,只需调整一处,代码转换如行云流水。快捷而优雅,让记忆与理解更加轻松自在。注重细节,享受编程之美!

m0_75096759的博客 3651

带头结点单链表相关操作

【代码】带头结点单链表相关操作。

m0_54000129的博客 286

数据结构中的elem,elemtype是什么

elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型。 为了使程序可读性强,并且便于修改,让elem代表多种的数据类型,也就是为int、char等等的数据类型,起了一个别名。 ElemType是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。 因为数据结构是讨论抽象的数据结构和算法的,一种结构中元素的类型...

mahara的博客 2万+

线性表的元素查找、插入与删除

ElemType在数据结构中通常指element type(元素的类型),本文使用typedef自定义ElemType和Status为int类型。 typedef int ElemType; typedef int Status; 查找: int LocateElem(SqList L, ElemType e, Status(*compare)(ElemType , ElemType )) //查找顺序表中的特定元素 { int i = 1; int *p = L.elem;

qq_56805519的博客 2912

数据结构的ElemType

关于数据结构教材中的ElemType说明。

liangsena的博客 6447
上一篇: Ubuntu VSCode 关闭 include 包含路径的下划线
下一篇: 青岛大学_王卓老师【数据结构与算法】Week02_07_类C语言有关操作补充2_学习笔记
Fourier 青年
博客等级 码龄9年 36粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值