摘要: 题目:输入两个递增的排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增顺序的。链表的结构如下: struct ListNode{ int m_nValue; ListNode* m_pNext; } 阅读全文
posted @ 2016-08-17 21:27 没长大的书生 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点,链表节点定义如下: 解析:注意的问题1、输入链表的头指针为NULL或者整个链表只有一个节点时,程序会崩溃;2、输入的链表只有一个节点;3、反转后链表出现断裂;4、对链表指针的操作顺序 阅读全文
posted @ 2016-08-17 17:33 没长大的书生 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如一个链表有6个节点,从头节点开始它们的值一次是1,2,3,4,5,6。这个链表的倒数第三个节点是值为4的节点。 链表节点定义如下: struct ListNode{ int 阅读全文
posted @ 2016-08-17 16:41 没长大的书生 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 方法一:可以用两个指针,分别指向数组的前后(下面称两个指针为头指针和尾指针),头指针向下遍历,遇到偶数时停下,尾指针从尾向前遍历,直到遇到一个奇数,交换当前头尾指针所指的值,之 阅读全文
posted @ 2016-08-17 15:51 没长大的书生 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1),时间删除该节点。链表节点与函数的定义如下: struct ListNode{ int m_nValue; ListNode* m_pNext; } void DeleteNode(ListNode** pListHead,ListNo 阅读全文
posted @ 2016-08-17 15:16 没长大的书生 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数的问题。 在写代码的时候要考虑完全各种情况,对于代码的完整性,从三个方面考虑:功能、边界、负面,同时还要考虑对于异常的处理。在这道题中,主要有下面 阅读全文
posted @ 2016-08-16 15:40 没长大的书生 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 请实现一个函数,输入一个整数,输出该整数二进制表示中1的个数。 解法一:要知道整数二进制表示中1的个数,可以先让该数与1做与操作,判断最后一位是否为1;之后再将1左移1位变为2,再和原数做与操作,判断原数倒数第二为是否为1,这样经过32此操作(整数4个字节,32位),便可以得到该数中1的个数。 解法 阅读全文
posted @ 2016-08-16 11:31 没长大的书生 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级台阶总共有多少种算法。 解析:对于一般情况,把n级台阶的跳法看成是n的函数,记为f(n)。当n>2时,第一次跳的时候就有两种不同的选择:一是第一次只跳1级,此时跳法数目等于后面剩下的n-1级台阶的跳法数目,记为f(n-1); 阅读全文
posted @ 2016-08-16 10:42 没长大的书生 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数列求第n项的非递归算法实现 阅读全文
posted @ 2016-08-16 10:19 没长大的书生 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 最近在操作系统的实验课上要求在Linux下实现Shell的简单功能,做了实验感觉挺有收获的,就在这分享一下,欢迎指出问题。 废话不多说,先看main()函数。 1 int main() 2 { 3 char inputBuffer[MAXLINE]; 4 char ... 阅读全文
posted @ 2015-11-22 16:20 没长大的书生 阅读(1583) 评论(5) 推荐(1) 编辑