首页 > 阿里云面试题 求各位带佬看看咋做
头像
kjnzhibo
编辑于 2020-08-19 10:50
+ 关注

阿里云面试题 求各位带佬看看咋做

如题 阿里云面试给的题目 各位带佬看看咋做

/** Iterator 表示了一个元素序列。 这个元素序列在什么位置,以及如何存储都是未知的。
* 这个元素序列可能非常非常长,有几十亿个元素,或者可能是无穷无尽的。*/
public interface Iterator<T extends Comparable<T>> {

/** 返回当前游标位置的元素
* @return 当前游标位置的元素
* */
public T getCurrentElement();

/** 游标移动到下一个元素。
* 注意:Iterator在初始时游标位于第一个元素之前!!!!
* @return 如果有下一个元素的话,返回true, 否则返回false
*/
public boolean moveNext();
}


/**
* 输入一个iterators数组,这个数组中的每个iterator返回的元素都是有序的(升序)。
* 这个类要实现一个iterator,它把iterators数组代表的iterator看作一个整体,返回整体有序的结果。
* 举个例子:
*      iterators数组包含两个iterator。
*      iterator 1返回:1 3 4 6 7 8
*      iterator 2返回:2 5 9 10
*      那么这个类返回的元素序列为: 1 2 3 4 5 6 7 8 9 10
*
* 实现限制:
* 1. 你能使用的内存必须和元素的个数无关。即即使元素的个数是无穷多个,你的程序也应该只需要很小的内存就可以运行。
* 2. 不能对这个类的使用者作假定。比方说不能假定moveNext()和getCurrentElement()一定是成对调用的。
* */
public class TotalOrderIterator<T extends Comparable<T>> implements Iterator<T> {
public TotalOrderIterator(vector<Iterator<T>>& iters, size_t len) {
}
public T getCurrentElement() {
return getCurrentElement();
}
public boolean moveNext() {
return moveNext();
}
}

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐