数据结构

C++字符串常用操作(二)

1.字符串连接操作顾名思义,即将一个字符串链接到另一个字符串的尾部,我们可以创建一个函数,同时利用指针,分别先后全部遍历两个字符串,将其中一个字符串的结束符’\0’去除并链接另一个字符串直到遇到结束符’\0’即可,函数实现为:#include<stdio.h>char*_strcat(chardest

C++字符串常用操作(一)

1.基本介绍在程序设计中,字符串操作是必不可缺的,无论是工程设计还是算法设计均离不开字符串,字符串是由一个个单独的字符构成的串,其数据结构是线性的,常以ASCII码表示,同时只要设定得当,其展示任何一种编码也都是可以的。字符串有很多的操作,也有非常多的扩展算法,

C/C++如何加速输入输出效率(下)

1.简介自上一篇文章,我们了解了解除绑定的输入输出流,这会让我们的代码输出变得迅速,然而,对于输入而言,亦有快速读取这一个更优秀的方案(相对来说也较为麻烦)。在我们学习C语言的时候,我们曾经学过字符的输入函数getchar(),她从标准输入里面读取下一个字符,

C/C++如何加速输入输出效率(上)

1.简介遇到大数据时,往往读写文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,有很多案例中提供几个数据,却在后台测评却提供了近千,近万的数据量是常事,而很多人会发现,明明算法正确的问题,

C/C++如何设计函数多返回值?

有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,当我们需要通过函数对多个值进行返回和传递的时候,

C++STL之multiset与multimap容器

1.MultisetMultiset是set集合容器的一种,其拥有set的全部内容,在此基础之上,multiset还具备了可以重复保存元素的功能,因此会有略微和set的差别。Multise容器在执行insert()时,只要数据不是非法数据和空数据,

C++STL之Pair类模板

1.简介Pair表示“一对”的意思,pair将两个数据合成一组数据,在如下两种变成情况中,我们更加常见与使用pair,第一是使用STL中的map(在上一节讲过),对于map而言,key和value需要分开来进行使用和声明,使用pair可以合二为一(但是数据输出时依旧要分离),

C++STL之Map容器

1.简介Map也是一种关联容器,它是键—值对的集合,即它的存储都是以一对键和值进行存储的,Map通常也可以理解为关联数组(associativearray),就是每一个值都有一个键与值一一对应,因此,map也是不允许重复元素出现的。同时map也具备set的相关功能,

set theory(集合论)

1.集合论简介集合论,是数学的一个基本的分支学科,研究对象是一般集合。集合论在数学中占有一个独特的地位,它的基本概念已渗透到数学的所有领域。集合论或集论是研究集合(由一堆抽象物件构成的整体)的数学理论,包含了集合、元素和成员关系等最基本的数学概念。

C++STL之Set容器

1.简介Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树(可能读者对此不太了解,等但学到树论与图论的章节的时候就会明白原因),其属于一种非线性的数据结构,每一次插入数据都会自动进行排序,