![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表和栈
文章平均质量分 71
Sunrise0929
这个作者很懒,什么都没留下…
展开
-
求栈的最小元素
题目来源:http://bbs.csdn.net/topics/3501189682.设计包含min函数的栈。定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。思路:我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push原创 2013-08-20 18:56:42 · 525 阅读 · 0 评论 -
栈,链表
#include #include #define MAXSIZE 100using namespace std;typedef struct{ char a[MAXSIZE]; int top;}stack;void init(stack *s){ s->top =0;}void push(stack *s, char x){ s->a[s原创 2013-08-13 10:57:34 · 309 阅读 · 0 评论 -
编程之美3.6 编程判断两个链表是否相交
//编程之美3.6 编程判断两个链表是否相交。 1. 把第二个链接在第一个链后面,如果得到的链表有环,则两链表相交。O(n)的方法判断是否有环,申请两个指针,一个每次递增一步,一个每次递增两步,如果有环,两者必然重合。2.遍历第一个链表,记录最后一个节点。然后遍历第二个链表,将最后一个节点和第一个链表的最后一个节点作比较。时间复杂度:O((length(h1)+length(h2)))原创 2013-08-31 23:04:23 · 449 阅读 · 0 评论 -
链表插入,删除,排序,反转
const常量有数据类型,宏常量没有。C++只使用const常量而不使用宏常量。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。不能在类声明中初始化const数据成员。只能在类构造函数的初始化表中进行。char *strcpy(char *strDest,const char *strSrc原创 2013-08-13 10:57:45 · 362 阅读 · 0 评论 -
返回单链表中倒数第N个元素问题
13.题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};思路:维护两个指针,使 它们之间的距离为n。让这两个指针同步地在这个单链表上移动,保持它们的距离 为n不变。当第二个指针指到空时,第一个指针即为所求原创 2013-09-14 22:25:20 · 1017 阅读 · 0 评论