自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双向循环链表的实现与应用

每个节点都有两个指针,一个指向下一个节点,另一个指向上一个节点。同时,整个链表形成一个环,即最后一个节点的下一个节点是指向第一个节点的。插入操作通过`insert_at_end`函数实现,该函数接受链表的头指针和要插入的数据。遍历操作通过`traversal`函数实现,该函数接受链表的头指针,依次打印出每个节点的数据。创建节点的函数`creat_node`接受一个整数参数`data`,并返回一个新的节点指针。销毁操作通过`destroy`函数实现,该函数接受链表的头指针,依次释放每个节点的内存。

2024-08-16 17:44:14 160

原创 C语言中的循环链表与约瑟夫问题的实现

然后,如果`m`大于1,我们进入一个循环,直到只剩下一个节点。在计算机科学中,循环链表是一种特殊的链表结构,其中最后一个节点指向头节点,从而形成一个闭合环。约瑟夫问题是一个经典的数学问题,描述了一群人围坐成一圈,每隔一定数量的人就会被淘汰,最后剩下的那个人即为胜利者。在该函数中,我们首先创建头节点,然后通过循环创建后续节点,并在最后将最后一个节点的`next`指针指向头节点,以形成循环链表。在这里,`Node`结构体包含一个整型成员`data`,用于存储节点值,以及一个指向下一个节点的指针`next`。

2024-08-16 10:04:07 176

原创 数据结构 链式栈

本文介绍了如何使用链表实现一个简单的链式栈,包括栈的基本结构、初始化、判断栈是否为空、入栈、出栈、查看栈顶元素以及销毁栈等基本操作。在这里,我们定义了一个`Node`结构体,表示链表的节点,包含一个整型变量`data`和一个指向下一个节点的指针`next`。同时,我们定义了一个`Stack`结构体,包含一个指向栈顶节点的指针`top`。如果不为空,则输出栈顶元素,并将`top`指针更新为下一个节点,最后释放旧节点的内存。该函数会检查`top`指针是否为NULL,如果是,则返回1,表示栈为空。

2024-08-15 17:31:27 374

原创 数据结构 栈

本文将介绍一个用C语言实现的栈,包括栈的基本操作,如初始化、入栈、出栈、查看栈顶元素、遍历栈及判断栈是否为空。这里,我们定义了一个名为`Stack`的结构体,包含一个整型变量`top`,用于指示栈顶的位置,以及一个整型数组`data`,用于存储栈中的数据。如果未满,则将新值添加到栈顶,并更新`top`指针。该函数会检查`top`指针是否为-1,如果是,则返回1,表示栈为空。在该函数中,我们将栈顶指针`top`初始化为-1,表示栈为空。该函数会检查栈是否为空,如果不为空,则输出栈顶元素。

2024-08-15 16:32:06 226

原创 数据结构 顺序表

顺序表的优点在于能够快速随机访问元素,但在插入和删除操作时需要移动元素,可能导致性能下降。在这篇文章中,我们将探讨一个简单的顺序表(Sequence List)实现,包括顺序表的初始化、插入、删除和打印等基本操作。接下来,将插入位置之后的元素向后移动一位,并将新元素放入指定位置。接下来,将删除位置之后的元素向前移动一位,并减少顺序表的长度。在主函数中,我们首先初始化顺序表,然后插入几个元素,打印顺序表,删除一个元素,并再次打印顺序表。首先,我们定义了一个头文件,包含顺序表的结构体和相关函数的声明。

2024-08-14 18:15:20 325

原创 数据结构 单链表

首先,我们定义了一个头文件 `Lk.h`,其中包含了链表节点的结构体和相关函数的声明。`insert_node_head` 函数实现了在链表头部插入节点的功能。`destory_list` 函数用于释放链表的所有节点,避免内存泄漏。`insert_node_tail` 函数用于在链表尾部插入节点。`print_list` 函数用于打印链表中的所有节点。在源文件 `Lk.c` 中,我们实现了链表的各种操作。`delete_node` 函数用于根据值删除节点。`find_node` 函数用于查找指定值的节点。

2024-08-12 22:21:42 255

原创 数据结构 顺序队列(计数器版)

在实现循环队列时,为了区分队列为空和队列满的情况,我们通常会浪费一个位置。也就是说,如果队列的总容量是100,那么实际上只能存储99个元素。这是因为我们需要保留一个位置来判断队列是满的还是空的。如果我们不这样做,那么在队列满和队列空时,front和rear指针都会指向同一个位置,这将导致无法区分这两种状态。

2024-08-12 10:27:19 235

原创 数据结构 链式队列

通过定义一个包含节点(Node)的结构体和一个包含头尾指针的队列结构体来实现链式队列。

2024-08-12 10:16:50 395

空空如也

空空如也

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

TA关注的人

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