Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
TinySTL
提交
b7643e82
T
TinySTL
项目概览
OpenDocCN
/
TinySTL
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TinySTL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b7643e82
编写于
10月 23, 2014
作者:
邹
邹晓航
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成全部deque接口
上级
55fb8702
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
5 deletion
+13
-5
TinySTL/Deque.h
TinySTL/Deque.h
+13
-5
未找到文件。
TinySTL/Deque.h
浏览文件 @
b7643e82
...
...
@@ -234,7 +234,6 @@ namespace TinySTL{
void
init
(){
mapSize_
=
2
;
map_
=
getANewMap
(
mapSize_
);
//map_[mapSize_ - 1] = getANewBuck();
beg_
.
container_
=
end_
.
container_
=
this
;
beg_
.
mapIndex_
=
end_
.
mapIndex_
=
mapSize_
-
1
;
beg_
.
cur_
=
end_
.
cur_
=
map_
[
mapSize_
-
1
];
...
...
@@ -255,7 +254,7 @@ namespace TinySTL{
template
<
class
Iterator
>
void
deque_aux
(
Iterator
first
,
Iterator
last
,
std
::
false_type
){
difference_type
mid
=
(
last
-
first
)
/
2
;
for
(
auto
it
=
first
+
mid
;
it
>=
first
;
--
it
)
for
(
auto
it
=
first
+
mid
;
it
!=
first
-
1
;
--
it
)
(
*
this
).
push_front
(
*
it
);
for
(
auto
it
=
first
+
mid
+
1
;
it
!=
last
;
++
it
)
(
*
this
).
push_back
(
*
it
);
...
...
@@ -292,10 +291,19 @@ namespace TinySTL{
deque
();
deque_aux
(
first
,
last
,
typename
std
::
is_integral
<
InputIterator
>::
type
());
}
/*
template<class T, class Alloc>
template
<
class
T
,
class
Alloc
>
deque
<
T
,
Alloc
>::
deque
(
const
deque
&
x
){
}*/
mapSize_
=
x
.
mapSize_
;
map_
=
getANewMap
(
mapSize_
);
for
(
int
i
=
0
;
i
+
x
.
beg_
.
mapIndex_
!=
x
.
mapSize_
;
++
i
)
for
(
int
j
=
0
;
j
!=
getBuckSize
();
++
j
)
map_
[
x
.
beg_
.
mapIndex_
+
i
][
j
]
=
x
.
map_
[
x
.
beg_
.
mapIndex_
+
i
][
j
];
beg_
.
mapIndex_
=
x
.
beg_
.
mapIndex_
;
end_
.
mapIndex_
=
x
.
end_
.
mapIndex_
;
beg_
.
cur_
=
map_
[
beg_
.
mapIndex_
]
+
(
x
.
beg_
.
cur_
-
x
.
map_
[
x
.
beg_
.
mapIndex_
]);
end_
.
cur_
=
map_
[
end_
.
mapIndex_
]
+
(
x
.
end_
.
cur_
-
x
.
map_
[
x
.
end_
.
mapIndex_
]);
beg_
.
container_
=
end_
.
container_
=
this
;
}
template
<
class
T
,
class
Alloc
>
void
deque
<
T
,
Alloc
>::
reallocateAndCopy
(){
auto
newMapSize
=
getNewMapSize
(
mapSize_
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录