自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 希尔排序--刘畅简化版

【代码】希尔排序--刘畅简化版。

2024-12-03 12:05:29 111

原创 折半插入排序--的本质

深入思考可解决一类问题,而不是一个问题!例如折半查找和折半插入排序!

2024-12-03 11:08:54 79

原创 直接插入排序优化:当要插入数已经大于前一个数时,不用取出再放入监视哨

【代码】直接插入排序优化:当要插入数已经大于前一个数时,不用取出再放入监视哨。

2024-12-02 17:14:33 128

原创 特别注意循环中或分支条件---多测试几组数据

注意:循环的条件就是要注意细节,从基础做起,不要小看每一个知识点!

2024-12-02 15:58:03 80

原创 vscode解决终端---输入问题的链接

永远空杯心态,多向他人学习!

2024-11-24 17:46:16 167

原创 参数传递的一点误区

这也是大话数据结构,程杰老师用双重指针传递参数的原因!

2024-11-19 09:55:22 197

原创 ‌契约式编程的定义和核心思想‌

‌Assert‌:断言是最基本的契约,用于表示程序点必须保持的一个契约。契约式编程的核心思想是通过程序来规定软件模块的权利和责任,以确保程序的正确性。契约式编程在软件开发中有着广泛的应用场景,特别是在需要确保软件组件之间交互正确性和可靠性的场景中。‌减少错误‌:通过前置条件和后置条件的验证,可以减少因参数错误或逻辑错误导致的程序崩溃。‌增强信任‌:明确的契约可以增强不同模块之间的信任,减少因误解导致的合作问题。‌提高代码的可维护性‌:通过明确的契约,开发者可以更容易地理解和维护代码。

2024-11-17 19:45:54 257

原创 关于图存储结构数组表示法

(1)图形结构中,各节点关系是任意的,线性表和树是特殊的图,图中任意两个数据元素之间都可能相关。图的应用管理科学,社会科学,通信工程,语言,逻辑学,物理,化学,电讯工程,计算机科学以及数学分支都可以用图;例如冯唐老师《金线原理》也讲分而治之。(2)图结构比较复杂,任意2个顶点都可能存在联系,因此无法以数据元素在存储区的物理位置来表示元素之间的关系,即图没有顺序存储结构,但可以借助数组的数据类型表示数据元素之间的关系;和树类似,实际应用中----严书161页。

2024-11-13 19:54:35 140

原创 严蔚敏---广义表递归算法---精华

(1)(2)什么时候用递归。

2024-11-13 05:58:24 240

原创 undefined reference to ‘WinMain@16’

int main() 写成了 int mian() ,int mani…建议保存后关闭编译器重开,我的垃圾code::blocks出现这种情况我都是这么干的。有可能是找不到一个参数字节总数为16个的XXX函数。没写主函数main()

2024-11-11 20:17:50 357

原创 高一凡哈夫曼树实现

要求4:在构成哈夫曼树时,求编码:从叶子节点出发走一条叶子到根的路径;译码:从根出发走一条从根到叶子节点的路径;于是对每个节点而言,既需要知道双亲信息,又要知道孩子节点信息。要点2:strcpy里面的参数为字符指针。n个叶子节点最多n-层。要点3:0号单元未用。

2024-11-11 20:07:06 190

原创 常数e的值可以表示为无穷级数: e=1+1/1!+1/2! +1/3! +… 1/n!编写一个程序,计算e的值,其中n是用户输入的整数。输入不考虑0,负数或者其他特殊情况。

常数e的值可以表示为无穷级数: e=1+1/1!编写一个程序,计算e的值,其中n是用户输入的整数。输入不考虑0,负数或者其他特殊情况。小心:数值类型,,下面是阶乘返回int类型,没有得到2.72这个值。

2024-10-28 10:52:36 291

原创 两栈共享空间

于是s.top[0] = s.bot[0] = -1;//1号栈的栈顶和栈底。(4)入栈先修改栈顶指针再入栈;出栈时,先出栈再修改栈顶指针。(2)栈满:s.top[0] + 1 == s.top[1]

2024-10-28 10:29:08 203

原创 数据结构空间扩充空间为什么总是原来的2倍

装填因子为什么50%?因为空间扩充为原来的两倍,而原来的元素为现在容量的一半。总体耗时O(n),扩充为空间为n,所以分摊时间O(1)

2024-10-28 09:29:27 247

原创 尾递归阶乘和10进制转2进制

【代码】尾递归阶乘。

2024-10-27 15:20:58 104

原创 递归与倒序---十进制转换二进制

对比:n>=1,若n=1时,调用to_binary(1/2==0);最后一次进入to_binary(0),r=0%2==0,所以首位打印出来的是0!n>=0,等于0时是死循环!因为不断相除肯定为0!

2024-10-25 11:33:17 172

原创 字符数组长度为n,只能存放n-1字符

2024-10-23 16:35:55 115

原创 殷人昆老师c语言第2版3.3栈的应用

从左到右扫描,把所遇到的左括号放入栈中。每当在后续的扫描过程中遇到一个右括号时,就将它与栈顶的左括号(如果存在)相匹配,并 删除栈顶的左括号。只要遇到左括号就入栈,如果遇到右括号,就要看栈顶如果栈不空,,括号课配对;从左到右扫描字符串,每一个右括号将于最近出现的那个未匹配的左括号匹配。如果表达式扫描完,栈不空表示站内有左括号但再无右括号配对!李冬梅老师相比,给出括号的左括号何右括号匹配的具体位置!如果栈空,表示右括号无左括号与之配对,,报错!

2024-10-23 08:59:53 200

原创 刘畅老师串基本操作实现

【代码】刘畅老师串基本操作实现。

2024-10-22 07:25:02 102

原创 出栈序列合法性判断

遍历出栈序列的每个元素,对于每个元素执行以下操作: 如果当前元素等于指针指向的元素,则将指针移动到下一个元素,模拟该元素入栈后立即出栈。如果当前元素不等于指针指向的元素,但等于栈顶元素,则将栈顶元素出栈。如果当前元素既不等于指针指向的元素,也不等于栈顶元素,则将指针指向的元素入栈,直到栈顶元素与当前元素相等。通过上述方法,我们可以有效地判断给定的出栈序列是否合法,这在编程竞赛和面试中是一个常见的问题。如果在任何时候栈的大小超过了最大容量,或者无法匹配出栈序列中的元素,则该序列不是合法的出栈序列。

2024-10-22 07:09:10 532

原创 用户登录,修改密码

不写不知道,一写问题百出,多动手写代码!

2024-10-21 11:26:05 129

原创 穷举增量全排列

【代码】穷举增量全排列。

2024-10-18 17:41:31 96

原创 殷人昆顺序栈基本操作

(3)另一个极端情况出现在栈底:如果栈空即top==-1,则退栈操作执行栈空处理。栈空处理一般不是出错处理,而是使用这个栈的算法结束时需要执行的处理。(2)top是最后加入元素的存储位置。进栈时,应先检查栈是否为满。栈允许存放最后的位置为maxsize-1;top==maxsize-1则说明栈满。若有新元素进栈,会发生栈溢出,程序会利用realloc再次申请空间。top<maxsize-1,则top+1,可以进栈。退栈时栈空不是错误,而是使用栈的某种处理结束,执行栈空处理;进栈时满栈,需要做溢出处理。

2024-10-18 10:36:19 149

原创 不带头节点链队列的基本操作的实现

【代码】不带头节点链队列的基本操作的实现。

2024-10-17 16:29:01 124

原创 李冬梅数据结构--表达式求值栈的应用

【代码】李冬梅数据结构--表达式求值栈的应用。

2024-10-16 14:07:15 115

原创 顺序表练习题---殷人昆教授

【代码】顺序表练习题---殷人昆教授。

2024-10-14 16:11:50 132

原创 c++文件读取,删除,指定行

参考:https://blog.csdn.net/qq_35459198/article/details/105485486?

2024-10-12 13:48:10 266

原创 文件存在基本知识

C++文件流fstream相关操作 - 傍风无意 - 博客园 (cnblogs.com)

2024-10-12 09:16:46 89

原创 文件操作----用户注册与登录,修改密码

【代码】文件操作----用户注册与登录,修改密码。

2024-10-12 08:49:25 103

原创 顺序表删除所有x元素

精华:::记忆指针和检测指针;若s.data[i]!还有顺序表插入和删除注意修改表长,,我也容易忘!好处:避免删除一个元素就要进行大量移动!我写的有两个地方的错误:我标为了重点。精华:::::记忆指针和检测指针。

2024-10-09 17:22:39 205

原创 双向链表基本操作实现--建议做题时画图 切不可死记

p的后继节点的指针就会丢掉,插入失败。建议做题时画图 切不可死记。建议做题时画图 切不可死记。

2024-10-08 15:37:33 139

原创 C++引用(变量引用、数组引用与数组指针、引用本质-指针常量、常量引用)

C语言 ——对数组名进行解引用,取地址,还有sizeof和strlen进行操作解析_对数组名解引用得到什么-CSDN博客C++引用(变量引用、数组引用与数组指针、引用本质-指针常量、常量引用)_c++11 数组引用-CSDN博客

2024-10-07 10:07:22 222

原创 美团餐馆预订管理信息系统--课程设计李冬梅

其中,检索策略总计包括以下6种:基于顺序表的顺序查找、基于链表的顺序查找、基于顺序表的折半查找、基于二叉排序树的查找、基于开放地址法的散列查找、基于链地址法的散列查找。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。能够将数据结构课程中所学的基本知识融会贯通,综合运用所学的知识解决相关的实际问题,能够把所学知识(包括算法和结构)在计算机上用编程语言加以实现,并且能够根据实际需求创建自己的数据结构和实现自己的算法。

2024-10-07 08:48:17 1742

原创 数据结构-基于不同策略的英文单词的词频统计和检索系统

其中,检索策略总计包括以下6种:基于顺序表的顺序查找、基于链表的顺序查找、基于顺序表的折半查找、基于二叉排序树的查找、基于开放地址法的散列查找、基于链地址法的散列查找。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。能够将数据结构课程中所学的基本知识融会贯通,综合运用所学的知识解决相关的实际问题,能够把所学知识(包括算法和结构)在计算机上用编程语言加以实现,并且能够根据实际需求创建自己的数据结构和实现自己的算法。

2024-10-07 08:26:27 1171

原创 李冬梅老师单链表删除---条件的一点解释(主题 阅读示例)

这个是李冬梅老师的写法,其余均为殷人昆教授的写法!!测试函数如下: 测试结果,和殷人昆教授的不太一样p->link==NULL,是i>.n的情况;;;j>i-1是ilink==NULL时,i=节点数n+1然后插入7个数,在第8位置删除和第九位置删除也是为了测试 i=8即删除位置是8,但是链表只有7个节点即p->link==NULL(i=8

2024-10-06 20:50:42 228

原创 李冬梅老师习题集第2章线性表--算法设计2,3,4,5

算法思想:从原来两个链表中依次再去节点,通过更改节点的指针域来重新建立元素之间的线性关系,得到一个新链表。关键点有2个:(1)保证新表与原表顺序相反,需要利用头插法建立单链表,而不能用尾插法(2)当一个表到达尾节点为NULL时,另一个非空表的剩余元素依次摘取,依次链接在LC的表头节点之后,而不能全部直接连接在LC表的最后(因为采用的是头插法)假设待合并的链表LA,LB,合并后的新表LC(lc是头指针,lc=la,lc使用la链表的头结点)。

2024-10-06 15:29:14 478

原创 mt1245五年花光

x(1+月利率*12)-1000=y-------找出数学模型,即数学公式---倒推法。x表示年初的钱,y表示年末的钱。

2024-10-06 09:46:36 197

原创 MT1244

不要小看代码短,一点一点锻炼逻辑思维能力。

2024-10-06 09:34:15 220

原创 MT1242三个非负整数

0 + 0 + 2 = 2 (0 + 2 + 0 = 2  2 + 0 + 0 = 2 可以和左边等式看做同一种)0 + 1 + 1 = 2 (1 + 1 + 0 = 2  1 + 0 + 1 = 2 可以和左边等式看做同一种)给定一个正整数N,将其分解为3个非负整数的累加和,并统计出这样做的方法数。好的算法是不断努力和反复修正的过程!优化由于非递减i<=j<=n-i-j。MT1242三个非负整数。

2024-10-06 09:03:15 208

原创 10以内数的分解

列出过程,找规律,是循环常用的方法。

2024-10-05 18:05:59 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除