- 博客(13)
- 收藏
- 关注
原创 栈和队列题目练习(简单)
具体过程:首先括号需要对应闭合,可以联想到栈(后进先出),例如 s = " () [] {} " 用pi进行遍历,如果是左括号则让其入栈,只要是右括号就用栈顶元素与pi指向的字符串进行比较,是否是匹配的右括号,如果匹配,就让其出栈。借助数据结构——栈,遍历字符串,左括号入栈,遇到右括号就与栈顶元素比较是否匹配。代码如下:前面部分是栈的实现,后面调用对应函数。,判断字符串是否有效。
2025-05-15 20:28:51
363
原创 链表题目练习2(简单)
遍历两个链表分别求出A、B链表长度,使用abs函数求出A、B长度差的绝对值(gap),让长度大的链表先走长度差(gap)个结点,此时A、B链表在同一个起跑线上,然后遍历链表,当A、B链表结点位置相同时跳出循环,返回值为longlist或shortlist;换句话说,它们在内存中指向两个不同的位置,而链表 A 和链表 B 中值为 8 的节点 (A 中第三个节点,B 中第四个节点) 在内存中指向相同的位置。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。
2025-05-04 20:43:58
1072
原创 链表题目练习1(简单)
在元素为5的结点尾插的时候,5的next指针也尾插进去了(结点元素为6),因此尾结点(newTail)的next指针置空(NULL)给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。思路:创建新链表,将原链表中值不为val的值拿下来尾插。如果有两个中间结点,则返回第二个中间结点。思路:创建三个指针,改变指针的指向。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。,请你删除链表中所有满足。给你一个链表的头节点。
2025-05-02 20:47:49
530
原创 (三)链表【数据结构】
图中指针变量plist保存的是第⼀个结点的地址,我们称plist此时“指向”第⼀个结点,如果我们希望 plist“指向”第⼆个结点时,只需要修改plist保存的内容为0x0012FFA0。链表中每个结点都是独⽴申请的(即需要插⼊数据时才去申请⼀块结点的空间),我们需要通过指针 变量来保存下⼀个结点位置才能从当前结点找到下⼀个结点。当我们想要保存⼀个整型数据时,实际是向操作系统申请了⼀块内存,这个内存不仅要保存整型数 据,也需要保存下⼀个结点的地址(当下⼀个结点为空时保存的地址为空)。test.c测试文件。
2025-04-25 14:17:24
382
原创 顺序表题目练习(简单)
nums[dst],dst++,src再赋值给dst,src++移除值为val的元素,要求返回最终的有效数据个数为k,以及数组中前k个数必须是非val的值。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。需要合并 [1,2,3] 和 [2,5,6]。
2025-04-21 20:55:11
777
原创 (二)顺序表【数据结构】
typedef是给int取了一个别名SLDataType,即使用SLDataType的时候实际使用的是int,目的是方便修改数据存储类型。例如:10W行代码,很多地方用到int,将涉及到往顺序表中增删改查的地方都要将int ——→char。线性表是⼀种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在。顺序表的底层结构是数组,对数组的封装,实现了常用的增删改查等接⼝。的,线性表在物理上存储时,通常以数组和链式结构的形式存储。// 头部插⼊删除 / 尾部插⼊删除。
2025-04-18 19:45:28
488
原创 (一)算法复杂度【数据结构】
1. 基本概念1. 基本概念数据结构(Data Structure)是计算机储存、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。没有一种单一的数据结构对所有用途都有用,所以我们要学各式各样的数据结构,如:线性表、树、图、哈希等。数据结构包括和两个层次算法(Algorthm):就是定义良好的计算过程,它取一个或一组的值为输入,并产出一个或一组值输出。
2025-04-07 19:08:39
837
原创 BC107 矩阵转置【C语言】
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。(1≤n≤10,1≤m≤10)根据题目,定义一个二维数组,按照要求,循环输入n行m列,然后循环输出m行n列。输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。
2025-03-29 21:14:17
145
原创 BC73挂科危险【C语言】
KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0~3:Good。一行,根据输入的挂科学分,输出相应学习情况(Danger++,Danger, Good)一行,一个整数(0-30),表示KiKi挂的科目累计的学分。输出:Danger++
2025-03-24 20:58:15
247
原创 BC51 及格分数【C语言】
KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。多组输入,每行输入包括一个整数表示的分数(0~100)。针对每行输入,输出“Pass"或“Fail"。
2025-03-19 18:46:32
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅