上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 35 下一页
摘要: 1.3.48双向队列与栈。用一个双向队列实现两个栈,保证每个栈操作只需要常数次的双向队列操作(请见练习1.3.33)。答:public class StackDouble<Item>{ private Deque<Item> q=new Deque<Item>(); ///////////Stack 阅读全文
posted @ 2018-10-26 08:47 修电脑的龙生 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1.3.46栈可生成性问题中禁止出现的排列。若三元组 (a,b,c)中a<b<c且c最先被弹出,a第二,b第三(c和a以及a和b之间可以间隔其他整数),那么当且仅当排列中不含这样的三元组时(如上题所述的)栈才可能生成它。部分解答:设有一个这样的三元组(a,b,c)。c会在a和b之前被弹出,但a和b会 阅读全文
posted @ 2018-10-26 08:46 修电脑的龙生 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1.3.45栈的可生成性。假设我们的栈测试用例将会进行一系列混合的入栈和出栈操作,序列中的整数0,1,...,N-1(按此先后顺序排列)表示入栈操作,N个减号表示出栈操作。设计一个算法,判定给定的混合序列是否会使数组向下溢出(你所使用的空间量与N 无关,即不能用某种数据结构存储所有整数)。设计一个线 阅读全文
posted @ 2018-10-26 08:45 修电脑的龙生 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 1.3.43文件列表。文件夹就是一列文件和文件夹的列表。编写一个程序,从命令行接受一个文件夹名作为参数,打印出访文件夹下的所有文件并用递归的方式在所有子文件夹的名下(缩进)列出其下的所有文件。提示:使用队列,并参考java.io.File。答:import java.io.File;public c 阅读全文
posted @ 2018-10-26 08:44 修电脑的龙生 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1.3.44文本编辑器的缓冲区。为文本编辑器的缓冲区设计一种数据类型并实现表1.3.13中的API.表1.3.13文本缓冲区的API:public class Buffer Buffer//创建一块空缓冲区 void insert(char c)//光标位置插入字符c char delete()// 阅读全文
posted @ 2018-10-26 08:44 修电脑的龙生 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 1.3.42复制栈。为基于链表产现的栈编写一个新的构造函数,使以下代码Stack<Item> t=new Stack<Item>(s);得到的t指向栈s的一个新的独立的副本。答:import java.util.Iterator;public class Stack<Item> implements 阅读全文
posted @ 2018-10-26 08:43 修电脑的龙生 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1.3.41复制队列。编写一个新的构造函数,使用以下代码Queue<Item> r=new Queue<Item>(q);得到的r指向队列q的一个新的独立的副本。可以对q或r进行任意入列或出列操作但它们不会相互影响。提示:从q中取出所有元素再将它们插入q和r。答: import java.util. 阅读全文
posted @ 2018-10-26 08:42 修电脑的龙生 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1.3.39环形缓冲区。环形缓冲区,又称环形队列,是一种定长为N的先进先出的数据结构。它在进程间的异步数据传输或记录日志文件时十分有用。当缓冲区为空时,消费者会在数据存入缓冲区前等待;当缓冲区满时,生产者会等待将数据存入缓冲区。为RingBuffer设计一份API并用(回环)数组将其实现。答:imp 阅读全文
posted @ 2018-10-26 08:41 修电脑的龙生 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 1.3.40前移编码。从标准输入读取一串字符,使用链表保存这些字符并清除重复字符。当你读取了一个从未见过的字符时,将它插入表头。当你读取了一个重复的字符时,将它从链表中删除并再次插入表头。将你的程序命名为MoveToFront:它实现了著名的前移编码策略,这种策略假设最近访问过的元素很有可能再次访问 阅读全文
posted @ 2018-10-26 08:41 修电脑的龙生 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 1.3.38删除第k个元素。实现一个类并支持表1.3.12中的API:表1.3.12泛型一般队列的APIpublic class GeneralizedQueue<Item> GeneralizedQueue()//创建一条空队列 boolean isEmpty()//队列是否为空 void ins 阅读全文
posted @ 2018-10-26 08:40 修电脑的龙生 阅读(184) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 35 下一页