- 博客(5)
- 收藏
- 关注
转载 链表实现比较高效的删除倒数第k项
最近写链表不太顺,无限的段错误。今天中午写的链表删除倒数第k项,用的带尾节点的双向链表,感觉已经把效率提到最高了,还是超时,改了很多方法都不行,最终决定看博客,发现原来是审题错了,样例给的是以-1结束,我就天真的以为到-1结束,原来题目写的到负数结束,服了。。先把我觉得最高效的代码贴上:思路是用带尾节点的双向链表存数据,在找倒数第k项时,如果超过表长,直接NUL...
2019-09-21 17:01:00
140
转载 带头结点的单链表就地逆置
因为只能顺序访问,所以不能用两个指针一个一个的颠倒。想的新思路是:从第二个结点开始,从链表上拆下来,往头结点后面插入。注意:因为每一次都把第二个元素拆下来,所以指针不用后移,每次都是拆那个位置。 1 #include<stdio.h> 2 #include<malloc.h> 3 #include<stdlib.h> 4 ...
2019-09-18 16:45:00
274
转载 递归求最长连续递增子序列
之前做递增子序列编程题的时候就考虑过用递归,今天上午写了一下,感觉用递归并没有什么意义,从最后找到边界,再从边界往后一次一次的和前一个比较,比前一个大就让当前递增子序列+1,不大就给开始和结束位置重新赋值,并时时更新最长子序列。思路和正常写完全一样,无非就是递归找到了边界。(因为比较习惯用下标,所以就没用地址) 1 #include<stdio.h> 2 #...
2019-09-16 23:51:00
793
转载 两个有序链表的合并
在学数据结构之前,也写过 这个操作,当时是先把两个表连起来,然后把数据导到数组里,用数组的排序方法,排完后再放到链表里。这次pta作业上有这个题的编程题,周一上机的时候用新方法稀里糊涂的过了,但总觉得赋值的时候用的指针很乱,今天从新写了一次,在赋值的时候,参考了输入函数的方法,用cur指针存数据,然后连到rear指针上,rear指针后移,多加了两个指针,感觉思路清晰了不少。...
2019-09-15 17:14:00
225
转载 顺序存储的线性表的基本操作
刚开始学数据结构,几乎算是什么都不会,想记录一下学习的东西,所以就学别人开始写博客。刚学了顺序存储的线性表的基本操作,把操作写了一遍。可能会有错误。顺序存储的线性表,用结构体类型。注意:结构体并不是用来存储元素的,elem才是存储元素的首地址1 typedef struct2 {3 ElemType *elem;//存储空间基地址6 ...
2019-09-14 16:43:00
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人