Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
TinySTL
提交
352dfc5b
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 搜索 >>
提交
352dfc5b
编写于
11月 26, 2014
作者:
邹
邹晓航
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成List的头插和尾插
上级
85fdeab5
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
29 addition
and
0 deletion
+29
-0
TinySTL/List.h
TinySTL/List.h
+29
-0
未找到文件。
TinySTL/List.h
浏览文件 @
352dfc5b
...
...
@@ -70,6 +70,22 @@ namespace TinySTL{
head
.
p
=
newNode
();
//add a dummy node
tail
.
p
=
head
.
p
;
}
/*List(const List& list){
}*/
~
List
(){
for
(;
head
!=
tail
;){
auto
temp
=
head
++
;
nodeAllocator
::
deallocate
(
temp
.
p
);
}
nodeAllocator
::
deallocate
(
tail
.
p
);
}
void
push_front
(
const
value_type
&
val
);
void
push_back
(
const
value_type
&
val
);
iterator
begin
()
const
{
return
head
;
}
iterator
end
()
const
{
return
tail
;
}
private:
nodePtr
newNode
(
const
T
&
val
=
T
()){
nodePtr
res
=
nodeAllocator
::
allocate
();
...
...
@@ -79,6 +95,19 @@ namespace TinySTL{
return
res
;
}
};
template
<
class
T
>
void
List
<
T
>::
push_front
(
const
value_type
&
val
){
auto
node
=
newNode
(
val
);
node
->
next
=
head
.
p
;
head
.
p
=
node
;
}
template
<
class
T
>
void
List
<
T
>::
push_back
(
const
value_type
&
val
){
auto
node
=
newNode
();
(
tail
.
p
)
->
data
=
val
;
(
tail
.
p
)
->
next
=
node
;
tail
.
p
=
node
;
}
}
#endif
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录