
C++STL
c++的学习
Charming Boy
苟有恒,何必三更眠五更起;
最无益,莫过一日曝十日寒。
展开
-
指针入门
理解指针作为函数的参数问题先从交换两个数说起:(一)所有功能在主函数中实现:#include<stdio.h>int main(){ int x,y,t; printf("请输入x和y:"); scanf("%d %d",&x,&y); t=x,x=y,y=t; printf("x=%d,y=%d\n",x,y);}(二)把两个...原创 2019-12-20 17:13:18 · 398 阅读 · 1 评论 -
矩阵相乘(二维数组的运用)
两个矩阵相乘#include<stdio.h>const int N=3;const int K=2;const int M=3; int main(){ int i,j,t=0; int a[N][K],b[K][M],c[N][M]; printf("请输入二维数组a:"); for(i = 0; i < N; i++) { ...原创 2020-01-06 22:58:49 · 5073 阅读 · 0 评论 -
C++学生信息管理系统 Map实现
1、 作品的功能描述:实现一个学生信息管理系统,通过对学生信息类中的成员进行增、删、改、查从而实现对数据的操作,除此之外,还可以显示学生信息,按分数排序信息,并通过文件的读入读出实现学生信息的存储和读出。子函数操作细节说明:(1) 插入学生信息通过map容器中的insert()函数进行学生信息的插入,使用二元组作为参数,first为学生姓名索引,second为学生个人信息类(2) 删除学生信息使用map中的erase()函数对学生信息进行删除,如果学生存在于map中,删除成功。(3) 修改学生原创 2020-12-24 11:13:29 · 1331 阅读 · 0 评论 -
C++中输入字符串的几种方法
C++输入字符串的几种方法cincin.get()cin.getline()getline()gets()getchar()C++中的字符串输入方式有:1.cin >> 2.cin.get()3.cin.getline()4.getline()5.gets()6.getchar()cin第一种用法是逐个输入数字或者字符,中间用空格隔开。这是最基本的。第二种用法是读...原创 2020-02-17 20:09:39 · 7271 阅读 · 1 评论 -
C++的auto声明、memset函数
文章目录automemsetauto为了让编译器能够根据初始值的类型推断变量的类型,C++重新定义了auto的含义。在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将把变量的类型设置成与初始值相同;auto n = 100;//n is intauto x = 1.5;//x is doubleauto y = 1.3e12L;//y is long double但...原创 2020-02-06 11:27:01 · 1124 阅读 · 0 评论 -
C++set 和 map
文章目录setmapsetset就是集合。STL的set用二叉搜索树实现,集合中的每个元素只出现一次,并且是排好序的,访问元素的时间复杂度是O(log2(n)),非常高效在需要用二叉搜索树处理数据的题目,如果用set或map实现可以极大简化代码set的相关操作:头文件:#include<set>set<Type>A;//定义A.insert(x);//把x...原创 2020-02-04 17:43:14 · 516 阅读 · 0 评论 -
sort()函数
STL的排序函数sort()的定义有两种方式:(1)sort(begin,end)(2)sort(begin,end,compare)无返回值,基于快速排序,范围是[first,last),包括first,不包括last,复杂度是O(nlog2(n))sort()的比较函数可以用系统的4种函数排序,常用的是降序和升序,即less()和greater()#include<bit...原创 2020-02-03 20:16:36 · 452 阅读 · 0 评论 -
归并排序及模板
文章目录归并排序理解归并排序模板归并排序理解归并排序的主要操作如下:(1)分解。把初始序列分成长度相同的左、右两个子序列,然后把每个子序列再分成更小的两个子序列,直到子序列只包含一个数。这个过程用递归实现。(2)求解子问题,对子序列排序。最底层的子序列只包含一个数,其实不用排序。(3)合并。归并两个有序的子序列,这是归并排序的主要操作。比如下面举例,把a[ ]分成两个子序列,比较后存进b...原创 2020-02-01 18:42:10 · 1995 阅读 · 0 评论 -
圆桌问题(用vector模拟约瑟夫环)
题目链接:HDU 4841 圆桌问题先看一个小故事:约瑟夫环问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟...原创 2020-01-26 17:28:05 · 1078 阅读 · 0 评论 -
C++STL模板类vector、list
STL(Standard Template Library)是C++的标准模板库,竞赛中很多常用的数据结构、算法在STL中都有,熟练地掌握它们在很多题目中能极大地简化编程。vector容器是一个模板类,能存放任何类型的对象。vector:动态数组,从末尾能快速插入与删除,直接访问任何元素一、定义定义int型数组(也可使char、double等类型)#include<iost...原创 2020-01-26 16:01:25 · 644 阅读 · 0 评论 -
标准C++String类
String类一、啥叫string类?二、构造函数三、string类输入四、string库函数一、啥叫string类?string类是由头文件< string >支持的(注意,头文件< string.h >和< cstring >支持对C风格字符串进行操纵的C库字符串函数,但不支持string类)。string类包含大量的方法,其中包括了若干构造函...原创 2020-01-23 17:57:34 · 699 阅读 · 0 评论 -
C++中stack和queue
文章目录一、栈和stack二、队列和queue一、栈和stack栈是基本数据结构之一,特点是:“先进后出”。头文件:#include< stack >栈的有关操作:stack< Type >a; //定义栈,Type为数据类型,例如int、float、chars.push(x); //把x放到栈顶s.top(); //b=返回栈顶的元素,但不会删除s....原创 2020-01-13 21:06:04 · 822 阅读 · 0 评论