挑战二--第四章数据结构

emmm一天的进度比起昨天来说可以使很慢了。下午回了趟家,路上看了小会儿电影并没有按想象中那样坐在公交上看书刷书。回去了就是吃睡,实在浪费时间。很可耻。所以不废话赶紧结束这一张往后看了。

数据结构主要分三块:栈(先进先出),队列(先进后出),链表(动态变化)

在这里应该要仔细介绍三种数据结构的,但是在c++标准库函数STL都有对应的函数,(手撸是不存在的,很多很麻烦,所以还是要运用STL的,)所以在这里只介绍STL里这三种数据结构的用法了(嗷,不止这三种,还有向量(vector))


栈(stack)

运用栈管理整型数据

包含于:#include<stack>

声明: stack<int> S;

成员函数示例:

Stack成员函数示例
函数名功能复杂度
size()返回栈的元素数O(1)
top ()返回栈顶元素O(1)
pop()从栈中取出并删除元素O(1)
push(x)向栈中添加元素XO(1)
empty在栈为空时返回true

O(1)



队列(queue)

运用队列管理字符串

包含于:#include<queue>

声明:queue<string> Q;

成员函数示例:


queue成员函数示例
函数名功能复杂度
size()返回队列的元素数O(1)
front()返回队头元素O(1)
pop()从队列中取出并删除元素O(1)
push(x)向队列中添加元素XO(1)
empty在队列为空时返回trueO(1)


向量(vector)

运用向量实现动态数组,并用其管理数据

包含于:#include<vector>

声明:vector<double> V;

成员函数示例:

vector的成员函数示例
函数名功能复杂度
size()返回向量的元素数O(1)
push_back(x)在向量末尾添加元素xO(1)
pop_back()删除向量的最后一个元素O(1)
begin()返回指向向量开头的迭代器O(1)
end()返回指向向量末尾(最后一个元素的后一个位置)的迭代器O(1)
insert(p,x)在向量的位置p处插入元素xO(n)
erase(p)删除向量中p的元素O(n)
clear()删除向量中所有元素O(n)


链表(list)

运用list实现双向链表,并用其管理char型元素

包含于:#include<list>

声明:list<char> L;

成员函数示例:

list成员函数示例
函数名功能复杂度
size()返回表的元素数

O(1)

begin()返回指向表开头的迭代器

O(1)

end()返回指向表末尾(最后一个元素的后一个位置)的迭代器

O(1)

push_front(x)在表的开头添加元素x

O(1)

push_back(x)

在表的末尾添加元素x

O(1)

pop_front()删除位于表开头的元素

O(1)

pop_back()删除位于表末尾的元素

O(1)

insert(p,x)在表的位置p处插入元素x

O(1)

erase(p)删除表中位置p的元素

O(1)

clear()删除表中所有元素

O(n)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值