自己电脑做主机怎么做网站,培训公司排名,贵州三大交通建设企业,河南23个岗位无人报考思维导图 输入输出#xff0c;以及基础头文件
在c语言中我们常用scanf(%d,n);和printf(%d\n,n);来输出一些变量和常量#xff0c;在C中我们可以用cin;和cout;来表示输入输出。
在C语言中输入输出有头文件#xff0c;在C也有头文件#xff0…思维导图 输入输出以及基础头文件
在c语言中我们常用scanf(%d,n);和printf(%d\n,n);来输出一些变量和常量在C中我们可以用cin;和cout;来表示输入输出。
在C语言中输入输出有头文件在C也有头文件只不过C的头文件有一点奇怪他首先是要包括一个输入输出流即iostream,i表示cin中的i.o就是表示输出也就是cout这个stream在英文中表示的是是水流的意思在计算机的眼中信息是像水一样流进计算机的处理玩的信息是像水一样留出计算机的,所以这个头文件就叫左iostream然后这个还要用一个using namespace std。这个是内存申请一个空间并且将stdio.h中的函数放进去虽然stdio.h的函数很少哪里可以看到这个stdio.h呢就是在namespace的后面std这个就是stdio.h。
这是对数字和特殊字符的输出
#includeiostream
using namespace std;
int main()
{int n1;//下面这三种都是等价的printf(%d %d\n,n,n1);coutn n1endl;coutn n1\n;
}
接下来就是有关字符串
数值
最大值0x3f3f3f3f4个f,3个0或者0x7fffffff这里一共7个f这两玩意都是表示最大值的意思数量级是 .
#define INF 0x3f3f3f3f或者const int INF 0x3f3f3f3f来使自己定义的变量inf(所以以后看到这个不要慌这个就是表示最大值的意思)。
函数
s1.substr()函数
使用的方法就是设置一个字符串s1,然后将这个字符串用‘.’连接起来括号里面有两个变量第一个变量需要开始的位置往往是指下标所以就需要减一第二个变量是你需要的长度。用一个新的字符串来存储s1中你所需要的的这一段字符.
#includebits/stdc.h
using namespace std;
int main()
{string s1;cins1;string s2;s2s1.substr(1,4);//从下标为0的地方开始直到长度为4couts2endl;return 0;
} s1.find(ch)函数
这个是在字符串s1里面找到一个和ch一样的字符并且返回其位置注意这个是返回下标所以是长度减1
#includebits/stdc.h
using namespace std;
int main()
{string s1,s2;char ch;cins1;cins2;cinch;int len1,len2;len1s1.find(s2);len2s1.find(ch);cout len1 endl;cout len2 endl;return 0;
} sort函数
sort函数中含有三个变量第一个和第二个是需要排序的范围就是数组名加上数字然后第三个就是决定升序或者降序的如果不进行填写就是代表着升序。头文件在includealgorithm,这个英文单词也是算法的意思
#includeiostream
#includestring.h
#includealgorithm
using namespace std;
int main()
{int a[10];for(int i1;i5;i)cina[i];sort(a1,a5);for(int i1;i5;i)couta[i] ;return 0;
}降序就在最后面加上一个greaterint() 升序就是在最后加一个lessint() 或者可以什么都不写
sort(a, a n, greaterint());//降序排列
sort(a, a n, lessint());//升序排列
接下来就是有关如何用sort函数来编写对结构体的排序 主要就是对结构体其中的某个元素进行排序然后将结构体全部元素都进行一个排序所以这里最关键的就是对“标准”的定义大白话就是对哪一个元素排序。 首先我们就需要构造一个结构体
struct node
{int x,y,t;
} q[N];
然后书写规则这里就需要书写一个bool类型的函数
bool cmp(node x,node y)
{return x.ty.t;//这个就是升序的标准
}
然后再将这个标准放在sort函数中的最后一位
sort(q,qm,cmp); find函数
头文件是includealgorithm 这个头文件包含了很多函数所以建议大家先去看看这个里面所有函数以便在书写变量和函数名重合。函数格式InputIterator find (InputIterator first, InputIterator last, const T val);
first 和 last 为输入迭代器(迭代其就相当于一个是勺子可以向一碗汤中送汤也可以从汤中捞汤)[first, last) 用于指定该函数的查找范围val 为要查找的目标元素。 另外该函数会返回一个输入迭代器当 find() 函数查找成功时其指向的是在 [first, last) 区域内查找到的第一个目标元素如果查找失败则该迭代器的指向和 last 相同。 具体的时使用代码如下由于还没又进一部学习vector,所以后面的我也看不懂
#include iostream // std::cout
#include algorithm // std::find
#include vector // std::vector
using namespace std;
int main() {//find() 函数作用于普通数组char stl[] http://c.biancheng.net/stl/;//调用 find() 查找第一个字符 cchar * p find(stl, stl strlen(stl), c);//判断是否查找成功if (p ! stl strlen(stl)) {cout p endl;}//find() 函数作用于容器std::vectorint myvector{ 10,20,30,40,50 };std::vectorint::iterator it;it find(myvector.begin(), myvector.end(), 30);if (it ! myvector.end())cout 查找成功 *it;elsecout 查找失败;return 0;
}
strstr函数 map函数、
这个函数首先是底一个变量就是它的·类型这个类型就是
队列等头文件
1.这里要用到一个优先队列stl其本质就是用一个数组模拟的一个完全二叉树。 2.功能拿出优先级最大的元素这个优先级可以自己定义。 3.这个包括在头文件#includequeue之中。 4.定义方式priority_queueint que 尖括号说明里面存放的数是整型这样定义就是大顶堆 值越大优先级越高 5.关于优先队列的几种操作1.que.size() 得到这个队列的元素数量 2.que.push(x) 插入 3.que.pop() 删除优先级最高的元素 4.que.top()访问优先级最高的元素访问堆顶元素 5.que.empty()判断堆是否为空 插入删除的时间复杂空间度都是为对数级访问堆顶元素的时间复杂度为常数级别。
接下俩是堆优先队列的一些基础操作
#includeiostream
#includequeue
#includealgorithm
using namespace std;
int main()
{priority_queueint que;que.push(7);que.push(1);que.push(12);printf(nmber:);coutque.size()endl;while(!que.empty()){coutque.top()endl;que.pop();}coutendl;return 0;
}
输出数据如下这样就可以使用堆排序 对于我们自定义
#includeiostream
#includequeue
#includealgorithm
using namespace std;
struct node
{int x,y;bool operator (const node b) const{//运算符重新定义,注意这个运算符只能定义小于号return this-xb.x;//从大到小}
};int main()
{priority_queuenode que;que.push((node){5,2});que.push((node){2,4});while(!que.empty()){coutque.top().xendl;que.pop();}return 0;
} 输出结果