- 博客(10)
- 收藏
- 关注
原创 Reverse Linked List II
ListNode *reverseBetween(ListNode* head, int m, int n) { if (m == n) return head; n -= m; ListNode prehead(0); prehead.next = hea
2015-06-08 22:11:15
450
原创 反转链表的迭代实现和递归实现
迭代实现:ListNode *reverseList(ListNode *head){ if (head == NULL || head->next == NULL) return head; ListNode *pCurr = head; ListNode *pPrev = NULL; ListNode *pNext = NULL; while (pCurr != NUL
2015-05-13 09:36:03
550
转载 转载一篇理解堆和栈区别的好文章
此文章虽然是面向C/C++程序员写得,但是对咱们Java程序员还是很有帮助的。 堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序
2015-05-07 18:37:06
461
原创 按层遍历二叉树
使用C++中的pair类型来存储树的节点和它的层数vector > levelOrder(TreeNode *root){ vector > vec; if (root == NULL) return vec; queue > queue; pair pair(root, 0); //根节点是第0层 queue.pu
2015-04-25 23:15:09
498
原创 二叉树中序遍历的非递归方法
vector inorderTraversal(TreeNode *root){ vector result; if (root == NULL) return result; stack s; TreeNode *p = root; while (p || !s.empty()) { while
2015-04-25 16:21:53
518
原创 二叉树先序遍历非递归方法的两种实现
vector preorderTraversal(TreeNode *root){vector result;stack s;if (root == NULL)return result;s.push(root); //将根节点入栈while (!s.empty()){TreeNode *p = s.top();result.push_back(p->val);s.pop();if (p->rig
2015-04-23 20:17:39
631
原创 C++智能指针的简单实现
把C++ Primer第四版中智能指针的示例代码改为了类模板,并增加了几个函数。template <typename T> class U_Ptr{ template <typename T> friend class lxlshared_ptr; T *tp; size_t use; U_Ptr(T *p) : tp(p), use(1) {} ~U_Pt
2015-04-20 11:14:02
489
原创 c++统计输入中不同单词所出现的次数(续)
紧接上一段小程序,要求程序在输出时应该对全部的单词分组,即首先输出出现一次的,然后是出现两次的,以此类推。这是Accelarated C++练习题7-1:#include #include #include #include using std::string;using std::map;using std::vector;using std::cin;using
2014-12-08 10:24:35
1298
原创 c++统计输入中不同单词所出现的次数
在看accelerated c++第三章的练习3-3时,要求“编写一个程序用于计算在它的输入中每个不同的单词所出现的次数”,最简单的方法是用标准库的map容器来实现,可以定义一个map。在这里,我使用了两个vector容器来实现:[‘code=C/C++]#include #include #include using std::cout;using std::cin;
2014-12-01 09:50:15
8097
1
原创 关于《Orange'S》第二章bochs配置文件的一个小问题
最近在看《Orange'S:一个操作系统的实现》,在看到第二章介绍对于bochs写配置文件bochsrc时,作者的代码里面是这样写的: ,而在你自己的机子上这个路径要根据你自己的情况来重新设置。但是我惊奇的发现在配置文件中将这两行用'#'注释起来时,对于引导扇区的那个小程序依然能够正常运行,那么系统是怎么找到这两个文件的呢?难道这两句根本不用写吗?还是系统自己定位的呢? 目前这个问题还没有解
2012-08-09 22:56:18
692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人