[Day04]程序菜鸟自学C++资料结构演算法 – 阵列Array List实作之一

今天终於要来讲解第一次的实作了,这系列的实作内容都是用Visual Studio 2019(以下简称VS)来操作,请大家先下载好٩(^ᴗ^)۶

打开VS之後先建立新专案,然後专案类别选择空白专案
https://ithelp.ithome.com.tw/upload/images/20210918/20140187CoWSGhngIX.png

建立好了之後开始设定专案名称和档案的路径,专案可命名为SqlList,档案路径可以再C槽新增空白的资料夹来存放这系列的实作。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187CsULGGHWgX.png

接下来在资源档按右键点选加入後按新增项目,选择第一个C++档,将下方的名称改为Array.cpp。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187030mohAZxt.png

完成之後就可以开始编写程序码了!
https://ithelp.ithome.com.tw/upload/images/20210918/20140187Y68Mnc37zl.png

做到这里的时候可以按F10在按F11查看变数名称、值和类型有没有错
https://ithelp.ithome.com.tw/upload/images/20210918/201401871RzQE89yH9.png

这里解释一下#include标头档和std::cout的意思

std::cout用在命名空间的问题,是避免大家使用同样的名称为类别、物件命名的一种机制,可以想成同名同姓的人会容易搞混,如果有相同名称的变数,会使C++混淆并出错,而std::cout就相当於告诉C++编译器cout这个人是始於std的。
在C++中有很多内建函式会放在不同的引入档,iostream就是最基本的引入档,没有iostream就无法继续执行;如果要处理数学运算,就需要使用#include的函式库。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187fCZ5FvgUd4.png

打好程序码後就可依先执行看看是否正常,在执行前先检查控制台有没有建立正确,依照图片步骤检查就可以了。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187vKenzgodOi.png
https://ithelp.ithome.com.tw/upload/images/20210918/20140187rPaNOTq0gN.png
都没有问题就按执行看看结果。显示「没有找到」就代表一开始建立的空阵列是没有问题的。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187vE5kq1MvCM.png

接下来就开始建立阵列的资料,get()函式相当於读取阵列内的资料。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187VmhZ4wjrqs.png
https://ithelp.ithome.com.tw/upload/images/20210918/20140187DqLwoXD5M3.png

编写好push_back(将资料放在元素最尾端)和print(显示出来) 後执行看看,可以发现并没有D,原因是一开始设立的容量太少,需要增加空间。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187SLiQQZBysK.png

编写realloc()函式扩增记忆体空间。
https://ithelp.ithome.com.tw/upload/images/20210918/20140187CNvc5L5K1o.png
https://ithelp.ithome.com.tw/upload/images/20210918/20140187cPXRUy9LC0.png

可以看见D成功加入阵列。!
https://ithelp.ithome.com.tw/upload/images/20210918/20140187WmHnE21tWk.png

今日小结:今天先做到这边,明天会继续实作阵列得其他功能,才刚刚开始而已,花多一点间慢慢吸收会比较有效喔!
P.S.程序码会在实作完成後在附上,有兴趣的可以先尝试自己打看看୧|” •̀ ل͜ •́ ”|୨


<<:  Progressive Web App Manifest: 配置档属性深入介绍 (5)

>>:  Day-3 Python Bool 整数 整数运算

30天程序语言研究

今天是30天程序语言研究的第二十天,由於深度学习老师多让我们上了python的进阶课程里面包括之前没...

Day 12 让你的广告活动可以超乎预料的好

就像昨天提到的,我们设定好广告活动和群组之後,当然 Google 会按照你期待的方式,将广告费用投放...

Day 10 进阶型别 Part - 3

今天要介绍的是 Function Overloads、Optional chaining、Nulli...

Day 28 如何撰写表徵测试

该文章同步发布於:我的部落格 什麽是表徵测试以及解决的问题是什麽? 假如我遇到一段想重构的代码,但...

[Day11] 介面篇 - 显示血条

在RPG Maker里面 已经有一个原生写好的Class可以做出血调了喔 名称叫做Sprite_Ga...