- 博客(100)
- 收藏
- 关注
原创 常数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 151
原创 两栈共享空间
于是s.top[0] = s.bot[0] = -1;//1号栈的栈顶和栈底。(4)入栈先修改栈顶指针再入栈;出栈时,先出栈再修改栈顶指针。(2)栈满:s.top[0] + 1 == s.top[1]
2024-10-28 10:29:08 193
原创 数据结构空间扩充空间为什么总是原来的2倍
装填因子为什么50%?因为空间扩充为原来的两倍,而原来的元素为现在容量的一半。总体耗时O(n),扩充为空间为n,所以分摊时间O(1)
2024-10-28 09:29:27 233
原创 递归与倒序---十进制转换二进制
对比: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 164
原创 殷人昆老师c语言第2版3.3栈的应用
从左到右扫描,把所遇到的左括号放入栈中。每当在后续的扫描过程中遇到一个右括号时,就将它与栈顶的左括号(如果存在)相匹配,并 删除栈顶的左括号。只要遇到左括号就入栈,如果遇到右括号,就要看栈顶如果栈不空,,括号课配对;从左到右扫描字符串,每一个右括号将于最近出现的那个未匹配的左括号匹配。如果表达式扫描完,栈不空表示站内有左括号但再无右括号配对!李冬梅老师相比,给出括号的左括号何右括号匹配的具体位置!如果栈空,表示右括号无左括号与之配对,,报错!
2024-10-23 08:59:53 187
原创 出栈序列合法性判断
遍历出栈序列的每个元素,对于每个元素执行以下操作: 如果当前元素等于指针指向的元素,则将指针移动到下一个元素,模拟该元素入栈后立即出栈。如果当前元素不等于指针指向的元素,但等于栈顶元素,则将栈顶元素出栈。如果当前元素既不等于指针指向的元素,也不等于栈顶元素,则将指针指向的元素入栈,直到栈顶元素与当前元素相等。通过上述方法,我们可以有效地判断给定的出栈序列是否合法,这在编程竞赛和面试中是一个常见的问题。如果在任何时候栈的大小超过了最大容量,或者无法匹配出栈序列中的元素,则该序列不是合法的出栈序列。
2024-10-22 07:09:10 428
原创 殷人昆顺序栈基本操作
(3)另一个极端情况出现在栈底:如果栈空即top==-1,则退栈操作执行栈空处理。栈空处理一般不是出错处理,而是使用这个栈的算法结束时需要执行的处理。(2)top是最后加入元素的存储位置。进栈时,应先检查栈是否为满。栈允许存放最后的位置为maxsize-1;top==maxsize-1则说明栈满。若有新元素进栈,会发生栈溢出,程序会利用realloc再次申请空间。top<maxsize-1,则top+1,可以进栈。退栈时栈空不是错误,而是使用栈的某种处理结束,执行栈空处理;进栈时满栈,需要做溢出处理。
2024-10-18 10:36:19 138
原创 c++文件读取,删除,指定行
参考:https://blog.csdn.net/qq_35459198/article/details/105485486?
2024-10-12 13:48:10 169
原创 顺序表删除所有x元素
精华:::记忆指针和检测指针;若s.data[i]!还有顺序表插入和删除注意修改表长,,我也容易忘!好处:避免删除一个元素就要进行大量移动!我写的有两个地方的错误:我标为了重点。精华:::::记忆指针和检测指针。
2024-10-09 17:22:39 195
原创 双向链表基本操作实现--建议做题时画图 切不可死记
p的后继节点的指针就会丢掉,插入失败。建议做题时画图 切不可死记。建议做题时画图 切不可死记。
2024-10-08 15:37:33 129
原创 C++引用(变量引用、数组引用与数组指针、引用本质-指针常量、常量引用)
C语言 ——对数组名进行解引用,取地址,还有sizeof和strlen进行操作解析_对数组名解引用得到什么-CSDN博客C++引用(变量引用、数组引用与数组指针、引用本质-指针常量、常量引用)_c++11 数组引用-CSDN博客
2024-10-07 10:07:22 210
原创 美团餐馆预订管理信息系统--课程设计李冬梅
其中,检索策略总计包括以下6种:基于顺序表的顺序查找、基于链表的顺序查找、基于顺序表的折半查找、基于二叉排序树的查找、基于开放地址法的散列查找、基于链地址法的散列查找。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。能够将数据结构课程中所学的基本知识融会贯通,综合运用所学的知识解决相关的实际问题,能够把所学知识(包括算法和结构)在计算机上用编程语言加以实现,并且能够根据实际需求创建自己的数据结构和实现自己的算法。
2024-10-07 08:48:17 1381
原创 数据结构-基于不同策略的英文单词的词频统计和检索系统
其中,检索策略总计包括以下6种:基于顺序表的顺序查找、基于链表的顺序查找、基于顺序表的折半查找、基于二叉排序树的查找、基于开放地址法的散列查找、基于链地址法的散列查找。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。能够将数据结构课程中所学的基本知识融会贯通,综合运用所学的知识解决相关的实际问题,能够把所学知识(包括算法和结构)在计算机上用编程语言加以实现,并且能够根据实际需求创建自己的数据结构和实现自己的算法。
2024-10-07 08:26:27 965
原创 李冬梅老师单链表删除---条件的一点解释(主题 阅读示例)
这个是李冬梅老师的写法,其余均为殷人昆教授的写法!!测试函数如下: 测试结果,和殷人昆教授的不太一样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 214
原创 李冬梅老师习题集第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 441
原创 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 197
原创 带头节点单链表逆置,根据殷人昆老师算法改写
(3)前驱指针,记录或跟踪指针,后继指针。(4)工作指针后移,指针后移位置经常用。(1)一定要画图,进行过程分析。
2024-09-30 09:23:20 126
原创 单链表逆置--带头节点
然后,从头节点的下一个节点开始遍历链表,将当前节点指向前一个节点,然后移动prev、curr和next指针。最后,将头节点指向反转后的链表头。3. 依次将q、r结点插入到p的后面,即q插入到p->next的位置,r插入到q->next的位置。其中,p指向头结点,q指向第一个结点,r指向第二个结点。三个指针prev、curr和next,分别指向当前节点的前一个节点、当前节点和下一个节点。该函数首先判断链表是否为空或只有一个节点,如果是,则直接返回。2. 将p->next指向NULL,表示链表只剩下头结点。
2024-09-30 09:14:56 196
原创 跟着谭书学c语言---110页第5章循环结构(5.1和5.2节)
循环体中,语句进行调换即先求和,再i+1,,,所以要深入体会循环总结和反思5.1节读书笔记5.2节读书笔记。
2024-09-29 10:36:56 417
原创 sop----对照--程序设计的一般过程
----------算法步骤(画出流程图,然后写出伪代码)----------编写程序,运行程序------程序分析--------算法分析--------反思和总结(即程序说明)说得更通俗一些,所谓的标准,就是尽可能地将相关操作步骤进行细化、量化和优化,细化、量化和优化的度就是在正常条件下大家都能理解又不会产生歧义。所谓标准,在这里有最优化的概念,即不是随便写出来的操作程序都可以称做SOP,而一定是经过。总结:问题描述---------问题分析。,用于指导和规范日常的工作。,通俗来讲,SOP就是对。
2024-09-29 07:46:21 305
原创 程序设计的一般过程举例(3)----冒泡排序(未完待续)
总结:问题描述--问题分析【抽象出数据模型::数据结构设计与选择(数据表示)&&基本思路:数据处理(计算机如何一步一步完成工作的):算法步骤(画出流程图,然后写出伪代码)】----------编写程序,运行程序------程序分析--------算法分析--------反思和总结(即程序说明)举例冒泡排序----来说明解决问题的一般过程谭浩强教授c语言书第6章利用数组批量处理数据----143页--例6.3问题描述:有10个地区的面积,按从小到大的顺序排列问题分析:排序规律两种:升序和降序。
2024-09-27 11:07:50 379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人