C
文章平均质量分 93
C相关教程
疑惑的杰瑞
一个正在努力学习的小菜鸟
展开
-
[数据结构]带头双向循环链表的实现与应用
在C语言环境中,我们通过定义结构体来构建带头双向循环链表。该结构体融合了数据域与指针域,为链表节点提供了全面的功能支持。}L;移除链表元素相交链表环形链表 I环形链表 II随机链表的复制。原创 2024-10-10 21:30:19 · 642 阅读 · 14 评论 -
[数据结构]无头单向非循环链表的实现与应用
首先,我们需要定义一个结构体来表示链表中的每一个节点。这个结构体通常包含两个部分:一是存储数据元素的数据域;二是指向下一个节点的指针域。//数据域//指针域}SL;分割链表环形链表的约瑟夫问题反转链表链表的中间节点合并两个有序链表移除链表元素回文链表。原创 2024-09-22 19:59:57 · 1402 阅读 · 33 评论 -
[数据结构]动态顺序表的实现与应用
首先,我们需要定义一个结构体来表示动态顺序表,这个结构体将包含指向数组元素的指针、当前存储的元素数量以及分配的空间大小。//指向动态数组的指针int size;//当前存储的元素个数//当前动态数组的容量}Seq;顺序表是线性表的一种,线性表的逻辑结构是连续的,物理结构是不一定连续的。顺序表使用数组进行存储,数组在内存中是连续的,所以顺序表的物理结构是连续的。原创 2024-09-21 16:42:11 · 918 阅读 · 16 评论 -
[数据结构]算法复杂度详解
比如,使用一个固定大小的变量,空间复杂度为O(1);它不算具体的bytes,而是算用了多少变量,就像看房间里放了多少箱子。主要关注的是算法临时申请的空间,编译时定好的栈空间不算。比如,遍历一个列表的算法,其基本操作(如访问元素)执行次数与列表长度N成正比,所以时间复杂度是O(N)。在编程中,这就像优化工作流程,让代码更快,占用资源更少。时间复杂度O(N^2),因为有两层嵌套的循环,每层循环最多执行n次。时间复杂度O(N^3),因为有三层嵌套的循环,每层循环最多执行n次。数据结构时间复杂度原创 2024-09-17 23:39:30 · 1390 阅读 · 7 评论 -
[C语言]连子棋游戏
# 一、前言对于指针和数组理解尚不深入的读者,我们强烈建议您先通过以下链接进行学习,以便更好地理解和参与后续的连子棋游戏讨论:[传送门](https://blog.csdn.net/2301_79450966/article/details/138454836)。这些基础知识将为您搭建连子棋游戏框架提供坚实的支撑。---# 二、游戏思路我们的连子棋游戏将基于经典的五子棋规则进行开发:[传送门](https://us.readgroup.cn/games/wuziqi2/#&ui-state=d原创 2024-09-16 16:29:14 · 637 阅读 · 7 评论 -
[C语言]扫雷游戏
# 二、游戏思路回溯至我们童年时期的经典游戏 —— 扫雷:[游戏原型](http://www.minesweeper.cn/)。- 游戏的核心目标在于找出并准确标记所有不含地雷的格子,同时确保自身安全,避免触雷。- 游戏区域内的每个格子均藏有玄机,其显示的数字代表该格子周围8个相邻格子中地雷的总数。- 特别规则:玩家的首次点击将确保安全,绝不会遭遇地雷。- 若不幸选中了地雷格子,则宣告游戏立即结束。- 若玩家选中的是无地雷且未显示数字的格子,则系统会根据规则自动展开其周围的安全区域,直至遇到含原创 2024-09-09 21:22:01 · 645 阅读 · 7 评论 -
[C语言]探索数组与指针的奥秘
在计算机的编程世界里,指针就像一把钥匙,它能够让我们直接访问和操作内存,从而实现许多复杂的数据结构和算法。传送门。本篇文章将在此基础上,进一步探讨二维数组与多级指针的概念,以及指针的高级应用,如动态内存分配和指针在数据结构中的应用。让我们开始这段探索之旅吧!指针的魔力:指针是编程世界中的一把钥匙,能够让我们直接访问和操作内存。通过指针,我们可以实现高效的数据交换、动态内存分配以及复杂数据结构的构建。二维数组与多级指针:二维数组是矩阵在内存中的表示,而行指针数组则提供了一种更加灵活的方式来操作这些矩阵。原创 2024-09-08 12:52:11 · 972 阅读 · 4 评论 -
[C语言]轻松了解指针与数组
让我们踏上一级指针的奇妙之旅,通过C语言的小小探险,揭开它的神秘面纱。int main()//探险第一步:发现宝藏(变量a)int a = 10;printf("宝藏a的坐标(地址)是:%p\n",&a);//探险第二步:制作寻宝图(指针变量pa)//创建一个寻宝图,它记录了宝藏a的坐标printf("寻宝图pa上的坐标是:%p\n",pa);//探险第三步:使用寻宝图找到宝藏printf("通过寻宝图pa找到的宝藏是:%d\n",*pa);//探险进阶:修改宝藏。原创 2024-05-05 18:47:32 · 1303 阅读 · 7 评论 -
[C语言]猜数字游戏
(时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。由以上文档可知:rand函数的随机值是由一个算法生成的,该算法在每次调用它时都会返回一个明显不相关的数字序列。发现这些值并不随机或很接近,原因是每次输出都是该随机数列的第一个值(CPU处理程序是非常快的,这样就会造成一样或很接近的现象)哦吼,我们要得到一个随机值,然后为了得到一个变化的随机序列这里的随机数种子又要我们传递一个变化的值。“光阴荏苒,日月如梭。”,哦~~,这不就是时间。原创 2024-05-09 11:52:51 · 801 阅读 · 7 评论