
数据结构C语言
文章平均质量分 50
Best_Me07
这个作者很懒,什么都没留下…
展开
-
单链表-单链表{a1,b1,a2,b2……an,bn}拆分成 {a1.a2…an}和{bn.bn-1.……b1}
根据题目要求,我们需要将一个单链表拆分成两个子链表,一个包含原链表的前半部分,另一个包含后半部分。原创 2024-11-06 19:29:38 · 241 阅读 · 0 评论 -
树-判断完全二叉树
根据题目要求,我们需要判断一个二叉树是否为完全二叉树。完全二叉树的定义是:除了最后一层外,每一层都是完全填满的,并且最后一层的节点都尽可能地集中在左侧。原创 2024-11-13 09:27:30 · 514 阅读 · 0 评论 -
图-无向图中从点u到点v的所有路径
根据题目要求,我们需要输出无向图中从点u到点v的所有路径。这个问题可以通过深度优先搜索(DFS)来解决。原创 2024-11-13 09:28:23 · 499 阅读 · 0 评论 -
单链表-交叉排列
给定一个单链表 L(a1, a2, a3, …, an),将其重新排列为 (a1, an, a2, an-1, …)原创 2024-12-15 15:04:30 · 216 阅读 · 0 评论 -
栈-括号配对
判断一个表达式中括号是否配对(假设只包含圆括号)原创 2024-12-15 15:02:45 · 353 阅读 · 0 评论 -
顺序表-递增有序表合并
实现一个顺序表的删除操作,删除顺序表中所有值为x的元素。原创 2024-12-15 14:24:00 · 534 阅读 · 0 评论 -
排序-快速排序算法
根据题目中的“快速排序”,我们需要递归地对分区后的子数组进行排序。原创 2024-11-24 14:23:54 · 722 阅读 · 0 评论 -
排序-折半插入排序
根据题目中的“折半插入排序”,我们需要在数组中找到合适的位置插入元素。原创 2024-11-24 14:20:39 · 185 阅读 · 0 评论 -
数据结构-递归函数的调用栈过程
这道题考察的是递归函数的调用栈过程。原创 2024-11-12 20:24:31 · 312 阅读 · 0 评论 -
单链表-就地逆置
定义一个逆置函数reverse,它接受一个链表头节点的引用作为参数。原创 2024-11-10 19:32:31 · 553 阅读 · 0 评论 -
遍历-后序非递归遍历二叉树
根据题目中的“后序非递归遍历二叉树”,我们需要定义一个二叉树节点结构体BTNode和一个栈St用于存储节点。// 定义二叉树节点结构体int data;} BTNode;// 函数用于后序非递归遍历二叉树// (1)设定变量// 定义栈// tag用于标记是否访问了右孩子// 栈顶指针初始化为-1。原创 2024-10-16 19:19:52 · 428 阅读 · 0 评论 -
顺序表-逆置
50// 定义顺序表的最大长度// 定义顺序表存储的元素类型为int// 定义顺序表的结构体// 存储元素的数组int length;// 顺序表当前长度}SqList;// 逆置函数// 算法思想:依次扫描顺序表L,将前一半元素(i原创 2024-10-02 08:33:42 · 161 阅读 · 0 评论 -
单链表-合并链表
10// 定义队列和栈的最大容量// 定义元素类型为int// 定义栈的结构体// 存储栈中元素的数组int top;// 栈顶指针}SqStack;// 定义队列的结构体// 存储队列中元素的数组// 队头和队尾指针}SqQueue;解释: 队列和栈都是线性数据结构,但操作方式不同。队列使用两个指针front和rear分别指示队列的头部和尾部。栈使用一个指针top指示栈顶。// 队列初始化函数// 初始化队列的头尾指针都指向0// 栈初始化函数S.top = -1;原创 2024-10-02 08:51:58 · 354 阅读 · 0 评论 -
顺序表-删除重复元素
include // 包含标准输入输出库20// 定义顺序表的最大长度// 定义顺序表存储的元素类型为inttypedef struct { // 定义顺序表的结构体// 用于存储顺序表元素的数组int length;// 顺序表当前的长度} SqList;解释: 顺序表是一种线性数据结构,我们使用一个固定大小的数组来存储顺序表中的元素。length字段用来记录顺序表中当前元素的数量。原创 2024-10-02 09:14:45 · 892 阅读 · 0 评论 -
顺序表-删除最小值
50// 定义顺序表的最大长度// 定义顺序表存储的元素类型为int// 定义顺序表的结构体// 存储元素的数组int length;// 顺序表当前长度}SqList;// 定义删除最小元素的函数if(L.length == 0) { // 如果顺序表为空,则返回false// 假设第一个元素是最小的// 记录最小元素的位置i++) { // 遍历顺序表if(L.data[i] < e) { // 如果找到更小的元素// 更新最小元素pos = i;// 更新最小元素的位置。原创 2024-10-02 08:29:31 · 258 阅读 · 0 评论 -
顺序表-删除x元素
50// 定义顺序表的最大长度// 定义顺序表存储的元素类型// 用于存储顺序表元素的数组int length;// 顺序表当前的长度} SqList;解释: 顺序表是一种线性数据结构,我们使用一个固定大小的数组来存储顺序表中的元素。length字段用来记录顺序表中当前元素的数量。原创 2024-10-02 09:03:09 · 285 阅读 · 0 评论 -
单链表-删除x结点
/ 定义元素类型为inttypedef struct LNode { // 定义链表节点的结构体// 节点存储的数据// 指向下一个节点的指针解释: 链表由节点组成,每个节点包含数据和指向下一个节点的指针。定义一个结构体LNode来表示链表的节点。原创 2024-10-02 09:08:25 · 504 阅读 · 0 评论 -
单链表-数组倒置(数据结构常考题)
根据题目中的“将数组中的元素顺序反转”,我们需要实现一个函数Reverse,用于反转数组中从start到end的元素。// 函数用于反转数组A中从start到end的元素int temp;// 使用while循环进行元素交换,直到start和end相遇或交叉// 保存A[start]的值// 将A[end]的值赋给A[start]// 将temp(原A[start]的值)赋给A[end]start++;// 移动start指针end--;// 移动end指针。原创 2024-10-16 19:08:56 · 573 阅读 · 0 评论 -
队列-逆置代码讲解
10// 定义队列和栈的最大容量// 定义元素类型为int// 定义栈的结构体// 存储栈中元素的数组int top;// 栈顶指针}SqStack;// 定义队列的结构体// 存储队列中元素的数组// 队头和队尾指针}SqQueue;解释: 队列和栈都是线性数据结构,但操作方式不同。队列使用两个指针front和rear分别指示队列的头部和尾部。栈使用一个指针top指示栈顶。// 队列初始化函数// 初始化队列的头尾指针都指向0// 栈初始化函数S.top = -1;原创 2024-10-02 08:41:26 · 462 阅读 · 0 评论 -
数据结构代码-顺序表中删除最小值
50// 定义顺序表的最大长度// 定义顺序表存储的元素类型为int// 定义顺序表的结构体// 存储元素的数组int length;// 顺序表当前长度}SqList;// 定义删除最小元素的函数if(L.length == 0) { // 如果顺序表为空,则返回false// 假设第一个元素是最小的// 记录最小元素的位置i++) { // 遍历顺序表if(L.data[i] < e) { // 如果找到更小的元素// 更新最小元素pos = i;// 更新最小元素的位置。原创 2024-10-02 08:32:24 · 240 阅读 · 0 评论 -
数据结构常考基础代码题-顺序表有序插入
根据题目中的“顺序表递增有序”,我们需要定义一个顺序表结构体,用于存储元素和顺序表的相关信息。原创 2024-10-16 19:00:38 · 589 阅读 · 0 评论