![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构(C语言版)
文章平均质量分 59
梵豪
一位现在学习C/C++的博主
展开
-
利用栈将十进制数转换为八进制数
当所有的除法操作完成,栈中存储的就是构成八进制数的各位数字,只不过它们的顺序是从个位到高位。因此,需要将栈中的数字依次弹出并连接起来,形成最终的八进制字符串或数值。:首先,创建一个空栈,这个栈将用于存储十进制数除以8得到的余数。这个过程重复进行,每次都将新的商作为。:从用户那里获取一个十进制数,我们称为。继续除以8,直到商为0为止。原创 2024-07-14 21:19:59 · 312 阅读 · 0 评论 -
构造与操作链栈
链栈是数据结构中栈的一种实现方式,它利用链表(通常是单链表)来存储栈中的元素。栈作为一种线性数据结构,遵循后进先出(LIFO, Last In First Out)原则,即最后插入的元素最先被移除。链栈的实现通常涉及定义一个链表节点结构,其中包含数据域和指针域,数据域用于存储元素值,指针域用于指向下一个节点。链栈的操作主要通过对这个链表结构的头部进行插入和删除来完成。原创 2024-07-14 21:08:21 · 348 阅读 · 0 评论 -
构建与操作共享栈
共享栈是一种优化的栈实现方式,它允许两个或多个栈共享同一段连续的内存空间。这种设计主要用于提高内存使用效率,尤其是在栈的实际需求大小难以准确预测的情况下。原创 2024-07-10 22:19:52 · 690 阅读 · 0 评论 -
构建与操作顺序栈
顺序栈是数据结构中栈(Stack)的一种具体实现方式,它使用一段地址连续的内存空间(通常是数组)来存储栈中的元素。栈作为一种特殊的线性数据结构,遵循后进先出(Last In First Out, LIFO)的原则,即最后进入栈的元素最先离开。原创 2024-07-10 22:14:09 · 300 阅读 · 0 评论 -
删除链表的倒数第 N 个结点(双指针)
给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。原创 2024-06-09 18:28:17 · 371 阅读 · 0 评论 -
回文链表(快慢指针解法之在推进过程中反转)
奇数链表」和「偶数链表」最终确定的中间节点不一致,我们可以先确定「链表中间节点位置」,再「反转前半部分的链表」;之后可以通过「统计节点个数」->「对奇偶链表需要翻转的节点个数分别判断完成前半部分反转」->「从前半部分链表和后半部分链表的头结点向两侧扫描推进判断数字是否相同」的方法来判断回文链表。1->2->2->1,长度为4的链表,如果回文,那么从第2和第3个节点出发,向两侧扫描,可以得到相同的数字序列。但这存在「奇数节点个数的链表」和「偶数节点个数的链表」的前半部分和后半部分划分上的不同的问题。原创 2024-05-28 22:49:17 · 1115 阅读 · 0 评论 -
翻转链表(双指针)
给你单链表的头节点head,请你反转链表,并返回反转后的链表。原创 2024-05-18 22:25:25 · 403 阅读 · 0 评论 -
顺序栈的操作
【代码】顺序栈的操作。原创 2024-05-08 22:55:27 · 184 阅读 · 0 评论 -
相交链表(双指针)
的输入如下(你设计的程序。原创 2024-05-07 19:29:37 · 878 阅读 · 0 评论 -
循环双链表的操作
【代码】循环双链表的操作。原创 2024-04-25 17:00:42 · 197 阅读 · 0 评论 -
约瑟夫问题
【代码】约瑟夫问题。原创 2024-04-16 23:13:24 · 134 阅读 · 0 评论 -
循环单链表的操作
【代码】循环双链表的操作。原创 2024-04-15 22:41:50 · 453 阅读 · 0 评论 -
双链表的操作
归纳编程学习的感悟,记录奋斗路上的点滴,希望能帮到一样刻苦的你!如有不足欢迎指正!共同学习交流!🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言📝每一个裂缝都是为透出光而努力!头文件#pragma once#include<stdio.h>#include<malloc.h>#define DataType int typedef struct DLNode{ DataType data; struct DLNode* prior; st原创 2024-04-10 20:51:47 · 193 阅读 · 2 评论 -
删除中间节点(狸猫换太子法)
利用单链表的一个节点,并删除该节点,一般来说的话,删除节点需要知道该节点的前一个节点的next域,以方便释放,现在只知道该节点,就只能知道下一个节点的地址,此时,我们只需要将该节点变成下一个节点,记住,是变成下一个节点,然后删除下一个节点,就可以完成狸猫换太子的操作。若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。中),将其删除后,剩余链表为。原创 2024-04-04 23:05:32 · 505 阅读 · 2 评论 -
单链表的中间节点
使用两个指针变量,刚开始都位于链表的第 1 个结点,一个永远一次只走 1 步,一个永远一次只走 2 步,一个在前,一个在后,同时走。这样当快指针走完的时候,慢指针就来到了链表的中间位置。这道题最朴素的做法是,先遍历一次,计算链表的长度,进而计算链表中间结点的下标(注意偶数结点的时候,得到的是中间的第二个结点),然后再遍历一次,来到所要求结点的位置。思想是:快慢指针的前进方向相同,且它们步伐的「差」是恒定的,根据这种确定性去解决链表中的一些问题。在链表的长度很长的时候,这种方法之前的等待会很久。原创 2024-04-04 22:07:19 · 340 阅读 · 1 评论 -
找单链表倒数第K个节点
【代码】找单链表倒数第K个节点。原创 2024-04-03 22:53:06 · 281 阅读 · 1 评论 -
合并两个单链表
【代码】合并两个单链表。原创 2024-04-02 22:37:06 · 511 阅读 · 0 评论 -
求两个单链表的差集
【代码】求两个单链表的差集。原创 2024-03-26 23:28:39 · 397 阅读 · 1 评论 -
逆置单链表及单链表的操作
【代码】逆置单链表及单链表的操作。原创 2024-03-25 23:32:57 · 345 阅读 · 0 评论 -
顺序表操作
顺序表操作原创 2024-03-17 21:00:49 · 245 阅读 · 1 评论 -
线性表——(3)线性表的链式存储及其运算的实现
线性表——(3)线性表的链式存储及其运算的实现原创 2023-12-01 23:27:13 · 1072 阅读 · 2 评论 -
线性表——(2)线性表的顺序存储及其运算的实现
线性表——(2)线性表的顺序存储及其运算的实现顺序表基本运算的实现:💦顺序表的初始化:💦插入运算 :☘️顺序表的数据元素的插入算法:💦删除运算:☘️顺序表的数据元素的删除算法:💦按值查找 :☘️顺序表的数据元素查找算法:三、顺序表的其他运算举例:💦例1:☘️顺序表的划分算法:💦例2:☘️顺序表的合并算法:💦例3:☘️两个顺序表的比较算法:原创 2023-11-29 23:37:38 · 1942 阅读 · 3 评论 -
线性表——(1)线性表的逻辑结构
线性表的逻辑结构原创 2023-11-27 23:35:59 · 1209 阅读 · 2 评论 -
初识数据结构
数据结构原创 2023-11-26 22:26:41 · 1397 阅读 · 6 评论