随笔分类 - 算法
摘要:问题为什么下面这段代码和上一道题中的代码效果不同?x.next = t;t.next = x.next;解决思路在更新t.next时,x.next已经不再指向x的原来后续结点,而是指向t本身。算法-第四版-1.3 背包、队列和栈-习题索引汇总算法-第四版习题索引汇总
阅读全文
摘要:问题假设x是一条链表中的某个结点,下面这段代码做了什么?t.next = x.next;x.next = t;解决思路将节点t插入到结点x后面。算法-第四版-1.3 背包、队列和栈-习题索引汇总算法-第四版习题索引汇总
阅读全文
摘要:问题编写一个方法find(),接受一条链表和一个字符串key作为参数。如果链表中的某个结点的item域的值为key,则方法返回true,否则返回false。解决思路迭代链表即可实现。代码 public static boolean find(LinkList l, String key) ...
阅读全文
摘要:问题编写一个方法delete(),接受一个int参数k,删除链表的第k个元素(如果它存在的话)。解决思路为删除第k个元素,需查找到第k-1个元素,然后进行删除。特殊处理,参数 * Function : TODO ADD FUNCTION. * date : Oct 24, ...
阅读全文
摘要:问题给出一段代码,删除链表的尾结点,其中链表的首结点为first。解决思路为删除尾结点,需要找到倒数第二个结点。尾结点为node->next == null。将倒数第二个结点置为null,即可。/* ...| current | -> | next | -> | null |*/同时对first...
阅读全文
摘要:问题假设x是一条链表的某个结点且不是尾结点。下面这条语句的效果是什么?x.next = x.next.next;解决思路删除紧临在x后面的一个结点。算法-第四版-1.3 背包、队列和栈-习题索引汇总算法-第四版习题索引汇总
阅读全文
摘要:问题为Transaction类完成练习1.3.16解决思路参见算法-第四版-练习1.2.13解答代码参见算法-第四版-练习1.2.13解答算法-第四版-1.3 背包、队列和栈-习题索引汇总算法-第四版习题索引汇总
阅读全文
摘要:问题使用1.3.1.5节中的readInts()作为模板为Date编写一个静态方法readDates(),从标准输入中读取由练习1.2.19的表格所指定的格式的多个日期并返回一个它们的数组。解决思路思路参见模板。代码Date:/** * Description : * Author : ...
阅读全文
摘要:问题编写一个Queue的用例,接受一个命令行参数k并打印出标准输入中的倒数第k个字符串(假设标准输入中至少有k个字符串)。解决思路将所有参数入列,得到参数数量n,出列前n-k个参数,得到倒数第k个参数。代码Queue:/** * Description : * Author : mn@f...
阅读全文
摘要:问题编写一个类ResizingArrayQueueOfStrings,使用定长数组实现队列的抽象,然后扩展实现,使用调整数组的方法突破大小的限制。解决思路参照堆栈的实现即可。代码/** * Description : * Author : mn@furzoom.com * Date ...
阅读全文
摘要:问题假设某个用例程序会进行一系列入列和出列的混合队列。入列操作会将整数0到9按顺序插入队列,出列操作会打印出返回值。下面哪种序列是不可能产生的?a. 0 1 2 3 4 5 6 7 8 9b. 4 6 8 7 5 3 2 9 0 1c. 2 5 6 7 4 8 9 3 1 0d. 4 3 2 1 0...
阅读全文
摘要:问题编写一个可迭代的Stack用例,它含有一个静态的copy()方法,接受一个字符串的栈作为参数并返回该栈的一个副本。解决思路由于栈的迭代器是逆向的迭代器,实现时需要注意方向问题。代码在Stack中添加如下方法: public static Stack copy(Stack s) { ...
阅读全文
摘要:问题编写一段程序EvaluatePostfix,从标准输入中得到一个后序表达式,求值并打印结果。解决思路后序表达式求解起来比较简单,读到数放入堆栈中,读到运算符,从堆栈中取数字进行运算,然后将结果放回堆栈。最后堆栈中只有一个元素,就是表达式的值。代码/** * Description : * Au...
阅读全文
摘要:问题编写一个过滤器InfixToPostfix,将算术表达式由中序表达式转为后序表达式。解决思路简化问题,不考虑运算的优先级,或者说优先级全部由括号确定。如指处理以下输入:( ( 1 + 2 ) * ( ( 3 - 4 ) * ( 5 - 6 ) ) )代码/** * Description : ...
阅读全文
摘要:问题编写一段程序,从标准输入得到一个缺少左括号的表达式并打印出补全括号之后的中序表达式。例如,给定输入:1 + 2 ) * 3 - 4 ) * 5 - 6 ) ) )你的程序应该输出:( ( 1 + 2 ) * ( ( 3 - 4 ) * ( 5 - 6 ) ) )解决思路使用两个栈分别保存数值和操...
阅读全文
摘要:给定以下输入,给出DoublingStackOfStrings的数组的内容和大小。it was - the best - of times - - - it was - the - -DoublingStackOfStirngs,其中添加了返回内部数组大小的方法arraySize()。/** * D...
阅读全文

浙公网安备 33010602011771号