![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 59
foDol
这个作者很懒,什么都没留下…
展开
-
数据结构:堆
数据结构:堆原创 2022-07-05 14:57:47 · 209 阅读 · 0 评论 -
数据结构和算法:三、串的比较
一、朴素模式匹配思路:在主串s1中找字串s2,找到返回s1中的下标,找不到返回-1,可以指定寻找开始下标pos,pos的默认值为0。int stringIndex(std::string s1, std::string s2, int pos = 0){ long long n1 = s1.size(), n2 = s2.size(); for(long long i = pos; i <= n1 - n2; ++i) { long long j = 0原创 2022-04-21 17:58:26 · 988 阅读 · 0 评论 -
数据结构和算法:二、栈和队列
问题:用智能指针确实在程序运行结束后全部归还了,但是如果是下边这样调用,用top命令查看内存使用情况,发现内存占用一直很高,并不会因为pop而减小。stack<int> s0;for(int i = 0; i != num; ++i){ s0.push(i);}for(int i = 0; i != num; ++i){ s0.pop();}而如果是下边这种,则内存占用会一直很低。for(int i = 0; i != num; ++i){ s原创 2022-04-20 22:33:49 · 592 阅读 · 0 评论 -
数据结构与算法:一、线性表的顺序存储结构SeqList和链式存储结构LinkList
实现了线性表的链式存储结构和线性存储结构,能进行插入元素O(n),删除元素O(n),查找元素O(n)和返回线性表长度O(1)的操作。其中链式存储结构使用了C++11的智能指针进行内存管理。一、顺序存储结构SeqList定义了数据类型ElemType,便于修改使用状态stat,表示操作成功/失败定义了线性表的长度length和用于存储数据的数组List[]函数:三个插入函数:stat insertElem(int index, ElemType *e);用下标插入stat pus.原创 2022-04-19 16:10:13 · 1022 阅读 · 0 评论