f*****s 发帖数: 141 | 1 不使用STL,用什么方法高效/快速实现以下功能:
(1) 支持random access
(2) 快速 在头/尾插入或删除。
我说了几个方法,都说不高效,高手们请说说你们的方法,谢谢。 |
B*******t 发帖数: 135 | 2 你这两条都是deque的属性,如果用STL的话就是用deque。如果不用STL,那就是要你自
己实现一个deque。
具体的实现,取决于你想做多fancy,最简单的deque就是一个数组加两个指针(head & tail)
【在 f*****s 的大作中提到】 : 不使用STL,用什么方法高效/快速实现以下功能: : (1) 支持random access : (2) 快速 在头/尾插入或删除。 : 我说了几个方法,都说不高效,高手们请说说你们的方法,谢谢。
|
f*****s 发帖数: 141 | 3 我当时第一反应说用deque,老印竟然说,如果用deque,我有必要问你吗?靠,很拽。 |
x**y 发帖数: 10012 | 4 那你就说数组+指针
他是让你设计一个数据结构把
【在 f*****s 的大作中提到】 : 我当时第一反应说用deque,老印竟然说,如果用deque,我有必要问你吗?靠,很拽。
|
f*****s 发帖数: 141 | 5 数组加两个指针,如何保证数组的连续存储?我是说,假如现有数组前后都没有存储的
地方了,该怎么办?这个老印不允许拷贝数组,说需要快速高效。 |
x**y 发帖数: 10012 | 6 重新allocate一个新的空间了
相当于二维数组
【在 f*****s 的大作中提到】 : 数组加两个指针,如何保证数组的连续存储?我是说,假如现有数组前后都没有存储的 : 地方了,该怎么办?这个老印不允许拷贝数组,说需要快速高效。
|
w*****e 发帖数: 197 | 7 I think he is expecting something like
a ring buffer. Google it and you will
find it exactly what you need.
【在 f*****s 的大作中提到】 : 不使用STL,用什么方法高效/快速实现以下功能: : (1) 支持random access : (2) 快速 在头/尾插入或删除。 : 我说了几个方法,都说不高效,高手们请说说你们的方法,谢谢。
|
b**g 发帖数: 949 | 8 不用理他。问这种钻牛角尖问题的人本来就没水平。
【在 f*****s 的大作中提到】 : 我当时第一反应说用deque,老印竟然说,如果用deque,我有必要问你吗?靠,很拽。
|