出类拔萃~
码龄5年
关注
提问 私信
  • 博客:57,834
    动态:5
    57,839
    总访问量
  • 55
    原创
  • 784,525
    排名
  • 27
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2019-05-27
博客简介:

wfea_lff的博客

查看详细资料
个人成就
  • 获得75次点赞
  • 内容获得6次评论
  • 获得328次收藏
  • 代码片获得250次分享
创作历程
  • 39篇
    2020年
  • 16篇
    2019年
成就勋章
TA的专栏
  • Leetcode
  • 数据结构
    19篇
  • Linux
    16篇
  • C/C++
    18篇
  • 笔记
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

STL- 常用拷贝和替换、算术生成、集合算法

STL常用拷贝和替换算法copy功能描述:容器内指定范围的元素拷贝到另一容器中函数原型copy(iterator beg, iterator end, iterator dest);// 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置// beg 开始迭代器// end 结束迭代器// dest 目标起始迭代器注意:利用copy算法在拷贝时,目标容器记得提前开辟空间replace功能描述:将容器内指定范围的旧元素修改为新元素函数原型:replace(itera
原创
发布博客 2020.08.09 ·
294 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL- 常用遍历、查找、排序算法

STL- 常用算法概述:算法主要是由头文件 组成。 是所有STL头文件中大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 体积很小,只包括几个在序列上面进行简单数学运算的模板函数 定义了一些模板类,用以声明函数对象。常用遍历算法for_each功能描述:实现遍历容器函数原型:for_each(iterator beg, iterator end, _func);// 遍历算法 遍历容器元素// beg 开始迭代器// end 结束迭代器// _func
原创
发布博客 2020.08.08 ·
342 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

函数对象/内建函数对象

函数对象概念:重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数函数对象使用特点:函数对象在使用时,可以像普通函数那样调用, 可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递示例:#include <string>#include <iostream>using namespace std; //1、函数对
原创
发布博客 2020.08.08 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

map/ multimap容器

map简介:map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自动排序本质:map/multimap属于关联式容器,底层结构是用红黑树实现。优点:可以根据key值快速找到value值map和multimap区别: map不允许容器中有重复key值元素 multimap允许容器中有重复key值元素map构造和赋值功能描述:对map容器进行构造和赋值操作函数原型:构造map<T1, T2&g
原创
发布博客 2020.08.08 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

set/multiset 容器

set简介:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用红黑树实现。set和multiset区别: set不允许容器中有重复的元素 multiset允许容器中有重复的元素set构造和赋值功能描述:创建set容器以及赋值构造:set<T> st; //默认构造函数: set(const set &st); //拷贝构造函数赋值:set& operator=(const
原创
发布博客 2020.08.07 ·
507 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

list容器

list基本概念功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表注意:由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器list的优点:采用动态存储分配,不会造成内存浪费和溢出 链表执行插入和删除操作十分方便,修改指针即可,不需要移
原创
发布博客 2020.08.07 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Stack和Queue容器

stack概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 popstack 常用接口功能描述:栈容器常用的对外接口构造函数:stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式 stack(const stack &stk);
原创
发布博客 2020.08.06 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

deque容器

deque容器功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度回比vector快 vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理: deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据 中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间注意:deque容器的迭代器也是支持随机访问的deq
原创
发布博客 2020.08.06 ·
222 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vector容器

vector功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展vector容器的迭代器是支持随机访问的迭代器动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector构造函数功能描述:创建vector容器函数原型vector<T> v; //采用模板实现类实现,默认构造函数 vector(v
原创
发布博客 2020.08.05 ·
448 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

String

string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char * 区别:char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char型的容器。特点:string 类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete 替换replace,插入insert string管理char所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责string构造函数构造函数原型:stri
原创
发布博客 2020.08.05 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

初见STL

STL长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL在C++标准中,STL被组织为下面的13个头文件:algorithm、deque、functional、iterator、vector、list、map、memory.h、numeric、queue、set、stack和utility。基本概念STL(Standard Temp
原创
发布博客 2020.08.04 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

两数之和I

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。题目来源:力扣(LeetCode)例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]这道题在题库中属于简单难度最简单的解题方式就是暴力解题法即就是直接用嵌套循环来暴力搜索符合条件
原创
发布博客 2020.07.21 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux---IO复用(libevent库)

LibeventLibevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kq...
原创
发布博客 2020.03.12 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux守护进程

守护进程又叫精灵进程,在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断会话:进程组的更高一级...
原创
发布博客 2020.03.11 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构(快速排序——非递归实现)

快速排序快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。在之前已经说过了快速排序的递归实现递归实现:https://blog.csdn.net/wfea_lff/arti...
原创
发布博客 2020.02.18 ·
936 阅读 ·
4 点赞 ·
2 评论 ·
6 收藏

数据结构(串匹配—KMP算法)

KMP算法KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特–莫里斯–普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)KMP算法相当于对BF算法...
原创
发布博客 2020.02.18 ·
281 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

数据结构(串匹配—BF算法)

BF算法BF算法即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。BF算法(朴素算法) 思想简单 效率比较低下时间复杂度:O(n*m)n:为S串的长...
原创
发布博客 2020.02.17 ·
2858 阅读 ·
4 点赞 ·
0 评论 ·
23 收藏

数据结构(快速排序——递归实现)

快速排序快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。时间复杂度:O(nlogn)空间复杂度:O(logn)稳定性:不稳定排序过程如图所示:上图是进行一趟快速排...
原创
发布博客 2020.02.16 ·
430 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux--I/O多路复用(epoll)

I/O多路复用I/O多路复用是在多线程或多进程编程中常用技术。主要是通过select/epoll/poll三个函数支持的,就是通过记录跟踪每一个Sock(I/O流)的状态来同时管理多个I/O流,I/O 多路复用技术通过把多个 I/O 的阻塞复用到同一个 select 的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求在之前我们运用多线程的方式也完成了一个可以同时处理客户端的TCP...
原创
发布博客 2020.02.12 ·
206 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux生产者消费者问题

生产者消费者模型描述:生产者/消费者问题可以描述为:两个或者更多的进程(线程)共享同一个缓冲区,其中一个或多个进程(线程)作为“生产者”会不断地向缓冲区中添加数据,另一个或者多个进程(线程)作为“消费者”从缓冲区中取走数据。生产者/消费者模型关注的是以下几点: 1.生产者和消费者必须互斥的使用缓冲区 2.缓冲区空时,消费者不能读取数据 3.缓冲区满时,生产者不能添加数据生产者/消费...
原创
发布博客 2020.02.12 ·
1919 阅读 ·
2 点赞 ·
0 评论 ·
15 收藏
加载更多