- 博客(47)
- 收藏
- 关注
原创 线性表【单链表的实现】(带头结点)
/结点数据域//结点指针域//注意这里的LinkList为自定义的结构体指针类型,与LNode*等价,最好用来定义头指针用LNode*来定义链表中的每个结点指针LinkList p;LNode* p;//定义结点指针p:两种写法完全等价,但是推荐使用这种写法,以提高代码可读性;LinkList L;//定义链表L(头指针):两种写法完全等价,但是推荐使用这种写法,以提高代码可读性;LNode* L;//数据域的学号部分//数据域的姓名部分int score//数据域的分数部分。
2024-08-06 00:31:27
1199
原创 C知识扫盲------scanf() 和 scanf_s()与缓冲区
scanf() 和 scanf_s() 是 C 语言中用于从标准输入读取格式化数据的函数。它们通过指定格式说明符,从输入流中读取并解析数据,然后存储在对应的变量中。scanf() 和 scanf_s() 是用于读取标准输入的函数,但在使用时需要特别注意安全性。缓冲区溢出是常见的安全问题,scanf_s() 通过要求指定缓冲区大小来防止这种问题。了解缓冲区的作用和常见错误,以及使用 scanf_s() 等安全函数,可以有效避免程序中的安全漏洞,确保程序的安全性和稳定性。
2024-08-06 00:30:52
3560
原创 C知识扫盲------函数参数传递
对于基本类型(如int、char、float等),传递的是变量的值的副本。因此,在函数内对参数的修改不会影响函数外的实际参数。x = 10;// 仅仅修改了副本 xint a = 5;Value(a);//传入变量a// 输出依然是5return 0;在上述代码中,函数Value中的参数x是a的一个副本,对x的修改不影响main函数中的变量a。这里我们可以将主函数中“被修改的指针变量”副本指针所指向的内存中的值当需要在函数中修改指针本身所存储的地址即需要函数能够修改。
2024-08-01 21:11:06
1169
原创 线性表【链式存储结构】概念
对于每个数据元素ai数据元素信息后继元素的存储地址结点(Node)结点分为数据域和指针域两部分数据域:存储数据元素信息的域指针域:存储直接后继位置的域n个结点由指针链组成一个链表它是线性表的链式存储映像,称为线性表的链式存储结构。
2024-07-31 17:22:18
319
原创 线性表【顺序存储结构】
零个或多个数据元素的有限序列一般形式如a1, a2, a3, … , an表的大小为n,其中大小为0的表称为空表(empty list)元素ai在表中的位序为i(i从1开始取)表中的每个数据元素可以是简单类型(如整型),也可以是复合类型(如结构体类型)用一段地址连续的存储单元依次存储线性表的数据元素我们通常使用一维数组进行存储存储空间的起始位置:数组data(动态静态均可)表的最大容量:数组长度MaxSize线性表当前长度:lengh。
2024-07-28 18:38:27
630
原创 时间复杂度与空间复杂度
当我们把程序看做一辆马车时,时间复杂度就是衡量马车跑的快不快(程序的运行效率),空间复杂度就是衡量这匹马吃的多不多(程序所需的存储空间的规模)理想情况下我们需要的是**既不吃草还跑的快(时间复杂度和空间复杂度都很低)**的马车,但很显然这是很难做到的所以在程序设计中就有了时间换空间,空间换时间的概念那么什么是时间换空间呢,继续上面的比喻,这时我们就需要的是一辆**吃的少(省空间)且跑的慢(费时间)**的马车那么同理空间换时间,就是说我们需要一辆**吃得多(费空间)且跑的快(省时间)**的马车而在具体的程序设
2024-07-24 16:08:08
728
2
原创 数据结构与算法分析——引言
结构定义:通俗来讲就是某个数据结构在我们的程序中是怎么实现的---------比如链表的结构定义就是一种物理存储单元上非连续、非顺序的存储结构;数据元素 的逻辑顺序是通过链表中的指针链接次序实现的。结构操作:即某个数据结构都支持什么样的操作---------比如链表的插入,删除,遍历,查找等操作对于某个数据结构,虽然我们可能不知道这个数据结构是怎么实现的,但是只要我们了解了这个数据结构的相关性质,我们就可以去使用这个数据结构去进行一些相关的操作如图,存入和取出---------我们每次存入或者取出数据时会存
2024-07-22 23:40:03
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅