- 博客(7)
- 收藏
- 关注
原创 数据结构与算法学习日记:C语言中链表的表示和实现
链表是一种常见的线性数据结构,由一系列节点(node)组成,每个节点包含两部分:数据域和指针域。数据域存储节点的数据,指针域指向下一个节点,从而将节点连接起来形成链式结构。链表可以分为多种类型,包括单链表、双链表和循环链表等。单链表:每个节点只包含一个指针,指向下一个节点,最后一个节点的指针指向 NULL。双链表:每个节点包含两个指针,分别指向前驱节点和后继节点,使得节点可以双向遍历。循环链表:最后一个节点的指针指向第一个节点,形成一个闭环。
2024-04-21 09:33:44
1848
1
原创 不借助第三个变量,实现两数交换的神奇算法
两种方法都展示了在不使用额外空间的情况下实现变量交换的巧妙思想。它们分别利用了异或运算和算术运算的性质,以简洁而高效的方式完成了任务。使用异或运算进行交换优点:代码简洁,易于理解。不需要借助第三个变量,节省了空间。缺点:只适用于整数类型的变量,对于其他类型可能不适用。如果两个变量的值相同,会导致它们最终的值变为0。使用算术运算进行交换优点:适用于多种类型的变量。不依赖于特定的数据类型或运算规则。缺点:代码相对复杂,不够直观。在变量值较大时可能会溢出。
2024-04-20 09:50:42
1015
1
原创 自制关机程序:倒计时取消机制
在日常生活中,我们经常需要用到计算机,而有时候我们又想让计算机在一段时间后自动关机。那么,有没有一种简单的方法,能够在计划关机的过程中通过输入特定的命令来取消关机呢?来设置计划关机,即在15秒后关机。同时,程序会提示用户在关机之前输入“我是猪”来取消关机。如果用户输入了其他内容,则程序会要求用户重新输入,直到输入了正确的取消命令为止。这段代码是一个简单的C语言程序,它实现了一个自制关机程序。:这是一个系统命令,用于关闭或重启计算机,或者安排计划关机或重启。命令的一个选项,表示在执行关闭操作之前等待的时间。
2024-04-20 09:50:05
778
1
原创 优化斐波那契数列计算:从递归到迭代
斐波那契数列是一个经典的数学序列,以意大利数学家斐波那契(Leonardo Fibonacci)的名字命名。该数列以以下规律开始:0, 1, 1, 2, 3, 5, 8, 13, 21, 34,每个数字都是前两个数字之和。其中 𝐹(0)=0,𝐹(1)=1是数列的起始值。
2024-04-20 09:49:08
669
原创 数据结构与算法学习日记:C语言中顺序表基本操作的实现
在本篇博客中,我们将探讨使用C语言实现顺序表的基本操作。顺序表,也称为数组,是一种基础的数据结构,其中元素按顺序存储。我们将涵盖初始化列表、元素插入、删除、检索、列表反转等操作。
2024-04-19 17:26:38
1654
1
原创 解密汉诺塔算法:用C语言实现递归与栈的巧妙结合
开始时,这些杆子上穿有若干个盘子,盘子大小各不相同,且按照从小到大的顺序从上到下叠放。现在的任务是,把所有盘子从杆子X移到杆子Z上,要求每次移动只能移动一个盘子,并且大盘子不能放在小盘子上面。本文通过C语言代码实现了汉诺塔问题的解法,并且使用了栈数据结构进行辅助,以展示递归与栈的结合应用。读者将会了解到如何使用递归思想解决复杂问题,并且学会了如何在实际编程中利用栈这一数据结构进行辅助计算。解决这个问题的经典算法是递归算法。在递归算法中,我们将大问题分解成小问题,并且通过不断调用自身来解决这些小问题。
2024-04-19 09:54:26
630
1
原创 用 C 语言实现逻辑表达式求主析取范式和主合取范式
我们首先定义了两种栈数据结构OPND和OPTR,分别用于存储操作数和操作符。接下来,我们定义了一些基本操作,如栈的初始化、入栈、出栈等。然后,我们定义了一个结构体Variable来存储变量和对应的值,并实现了一些相关函数。之后,我们使用位运算生成了逻辑表达式的赋值表,然后通过实现算法来求解逻辑表达式的真值。
2024-04-18 23:21:30
1002
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅