- 博客(20)
- 收藏
- 关注
原创 数据结构-栈
这里我不用StackPop(),直接在StackTop()中把return ps->a[ps->top-1],改成ps->a[--ps->top]有什么影响嘛。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。出栈:栈的删除操作叫做出栈。栈中的数据元素遵守后进先出。压栈:栈的插入操作叫做进栈。
2025-02-03 13:28:23
465
原创 环形链表(数据结构)
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。
2025-01-28 18:13:15
316
原创 求两大数和
大数的输入不能简单定义整数变量,因为存不下这么大的数,要采用字符串输入方式,把大数存入到字符串中,按照数码位个位对齐,逐个数码位相加。两个大数的输入可以采用scanf("%s %s",a,b);13表示有个进位1 ,数字3=> 3+'0' =>'3'本题求多组大数的加法,结果每行占一行。第一行输入一个整数n(n
2024-12-26 21:35:32
520
原创 【链表】【带头结点】【删除】删除偶数结点
题目描述本题要求实现一个函数,分别将读入的数据存储为单链表(带头结点)、将链表中偶数值的结点删除,并输出链表内容。链表结点定义如下输入输入一组整数以-1 结束输出删除后的链表内容样例输入样例输出1 3 5 7提示函数createlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。函数deleteeven将单链表head中偶数值的结点删除,返回结果链表的头指针。
2024-12-24 22:13:46
597
原创 【链表】【带头结点链表】用尾插法创建链表并删除一个指定位置的结点
输入一系列字符以-#作为结束标志,用尾插法创建链表并存储数据,然后在指定位置删除一个新的字符,并输出结果。链表所有数据(删除前、删除后)各占一行。第一行输入一一个字符串,以#结束。周末有事,i am back!
2024-12-23 13:32:32
411
原创 链表应用(链表合并)
设计函数struct node* merge(struct node * head1, struct node * head2),将以head1和head2为头指针的有序(从小到大)链表,合并为一个有序(从小到大)链表,并返回合并后新的有序链表的头指针。3. 否则,依次删除head1(或者head2)中的每一个结点(不要释放),并将该结点插入到有序链表head2(或者head1),使之仍然有序,直到head1(或者head2)链表为空为止。输出一行整数,表示合并后的链表的数据域值,中间以空格分隔。
2024-12-18 13:14:10
555
原创 蓝桥杯训练题(3)
已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。输入的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
2024-12-17 20:27:15
338
原创 链表操作(链表连接)
设计函数struct node* merge(struct node * head1, struct node * head2),将以head1和head2为头指针的链表,合并为一个链表,将以head2为头指针的链表的所有结点,依原来的次序挂链到以head1为头指针的链表尾部,并返回合并后的新链表的头指针。思路:1. 如果head1指向空链表,则返回head2。2. 否则,找到head1的尾结点,将head2所指向的结点,挂到尾结点的后面即可。
2024-12-17 20:05:17
303
原创 链表操作(前驱和后继)
在以head为头指针的非空链表中,找到数据域值为x的结点,输出该结点的前一个结点和后一个结点的数据域值,如果该结点没有前驱结点(即该结点为第1个结点),则以-1代替,如果该结点没有后继结点(即该结点为尾结点),也以-1代替,如果该结点既是第1个结点也是尾结点(即只有1个结点的链表),则输出2个-1。第一行为若干个互不相同的整数,中间用空格分隔,末尾一个整数为-1,以-1前的每个整数为数据域的值创建多个结点,并将这些结点,利用尾插法链接成链表。第2行为1个整数,表示要查找的结点的数据域的值。
2024-12-16 20:11:36
429
原创 链表操作 插入结点(三)
原由链表结点的数据是按照从小到大排序的,输入一个新的数据,插入到链表中,使它仍然有序。第一行输入一组正整数(除-1外, 其他以从小到大的序列给出)-1结束,创建链表。填空没问题,但是让我自己把整个程序写一下来,还是比较困难。第二行输入要插入的整数。
2024-12-16 09:30:28
529
原创 删除链表中指定元素的结点(填空题)
设计函数 struct node * dellinkby_elem(struct node *head,int elem);在以head为头指针的链表中,删除掉元素为elem的结点。如果elem元素不存在,则不删除结点。
2024-12-14 22:39:51
303
原创 链表操作(插入结点)
设计函数 struct node *insert(struct node *head,char x, int i);,在以head为头指针的链表中,在第i个位置,插入一个结点,该结点的数据域的值为x。
2024-12-13 22:04:45
534
原创 链表(头插法)
利用头插法,创建类似下图所示的动态链表,其中结点数据域由键盘输入而确定。要创建下图的链表,输入的依次是DCBA。创建好链表后,还需要依次访问各个结点,输出各个结点的数据域。
2024-12-11 21:56:00
681
原创 蓝桥杯训练题(2)
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。例如11月初津津手中还有83元,妈妈给了津津300元。
2024-12-08 15:28:31
742
原创 蓝桥杯训练题(1)
幂ab的末3位数是多少?输入两个正整数a,b。输出从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。样例输入7 2011样例输出743。
2024-12-07 17:23:37
498
原创 打印矩阵,输入高和宽 字符 以及是否空心
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。根据参数,画出矩形。
2024-12-04 19:38:35
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人