摘要: 转载:http://blog.csdn.net/niuer09/article/details/5961004 单链表 要求将一带链表头List head的单向链表逆序。 分析: 1). 若链表为空或只有一个元素,则直接返回; 2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指向节点的后继; 3). 重复2),直到q为空 4). 调整链表头和链表尾 示... 阅读全文
posted @ 2012-10-07 17:10 三块钱的其其 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 参考:http://bylijinnan.iteye.com/blog/1447035 题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。 public void reverseStack(Stack<Integer> stack){ if(!stack.empty()){ ... 阅读全文
posted @ 2012-10-07 16:53 三块钱的其其 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 输入一个整数数组,调整数组中数字的顺序,使得所有的奇数位于数组的前半部分。 /// <summary> /// 输入一个整数数组,调整数组中数字的顺序,使得所有的奇数位于数组的前半部分。 /// </summary> /// <param name="arr">数组</param> /// <param name="n">数组长度</param> static v... 阅读全文
posted @ 2012-10-07 16:43 三块钱的其其 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。分析:这是一道很好的考查对递归理解的编程题,因此在过去一年中频繁出现在各大公司的面试、笔试题中。我们以三个字符abc为例来分析一下求字符串排列的过程。首先我们固定第一个字符a,求后面两个字符bc的排列。当两个字符bc的排列求好之后,我们把第一个字符a和后面的b交换,得到bac,接着我们固定第一个字符b,求后面两个字符ac的排列。现在是把c放到第一位置的时候了。记住前面我们已经把原先的第一个字符a和后面的b做了交换,为了保证这次 阅读全文
posted @ 2012-10-07 16:27 三块钱的其其 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.cnblogs.com/aLittleBitCool/archive/2011/03/07/1974051.html http://blog.csdn.net/terry84fun/article/details/4971912 题目:输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序... 阅读全文
posted @ 2012-10-07 15:37 三块钱的其其 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 转载:http://blog.csdn.net/cangyingzhijia/article/details/4925331 堆作为重要的数据结构之一,分为最大堆和最小堆是二叉堆 的两种形式。 最大堆 :根结点的键值是所有堆结点键值中最大者的堆。 最小堆 :根结点的键值是所有堆结点键值中最小者的堆。 下面是引自wikipedia的最小堆示例图: public ... 阅读全文
posted @ 2012-10-07 13:46 三块钱的其其 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/v_JULY_v/article/details/6116297 一、快速排序算法的基本特性 时间复杂度:O(n*lgn) 最坏:O(n^2) 空间复杂度:O(n*lgn) 不稳定。 快速排序时基于分治模式处理的, 对一个典型子数组A[p...r]排序的分治过程为三个步骤: 1.分解: 数组分为两个子... 阅读全文
posted @ 2012-10-07 13:19 三块钱的其其 阅读(130) 评论(0) 推荐(0) 编辑