1.基础知识
其实学完c语言后我们能够理解,其实语言本身并没有那么重要。重要的是如何将问题解决的能力,其实这就涉及到数据结构和算法的东西了。但我们现在不谈数据结构和算法,就单单拿c++来说,它里面的STL库非常的方便我们来学习数据结构。那么为了能够在学完c语言后快速上手c++,我总结了以下的方面:
1.c++的基础语法
比如:
输入 cin>> 类比于scanf()
输出cout<< 类比于printf()
2.c++的STL库
1.基础语法
#include<iostream>
#include<cmath>//将后面的.h变成了前面的c
#include<string>
using namespace std;
struct stu
{
string name;
int age;
};
int main()
{
//const int m=10;//const定义常量
//int n;
//cin >> n;//输入 将输入的东西赋给n
//cout << n<<endl;//输出 endl是换行的意思 类比于c语言的\n
string类--非常方便
//string s1= "hello";
//string s2 = " world";
//string s = s1 + s2;//直接进行加和
//cout << s << endl;
//string s;
//cin >> s;//cin只能输入一个单词 不能中间有空格
//cout << s<< endl;//s.length可直接获取字符串的长度
//子串
string s = "hello world";
//string s_sub = s.substr(1,2);//从第一个字符往后取两个
//string s_sub = s.substr(5,6);
string s_sub = s.substr(6);//从这个字符后的所有字符全都被拷贝了
cout << s_sub << endl;
//结构体
struct stu a[10];
stu arr[10];//可将struct省去 及简化了tepedef的使用
//引用--可以避免使用指针
return 0;
}
2.STL篇
1.>vector
数组的一点小区别:
#include<iostream>
#include<string>
using namespace std;
#include<vector>//头文件的包含 后面都是一样的
int main()
{
vector<int>v;//可变数组
v.resize(10);//分配空间
for (int i = 0; i < 10; i++)
{
v[i] = i;
}
for (int i = 0; i < 10; i++)
{
cout << v[i] <<" ";
}
//末尾添加新元素 v.push_back(data)
v.push_back(10);
for (int i = 0; i < 11; i++)
{
cout << v[i] << " ";
}
cout << v.size() << endl;
return 0;
}
2.>set(集合)
#include<iostream>
#include<string>
using namespace std;
#include<set>
int main()
{
//set<int>s(10);//错误的创建
//因为集合的元素有互异性,所以不能直接进行相同元素的赋值
set<int>s;
//插入元素 s是对象 insert是方法 调用对象里面的方法
s.insert(1);
s.insert(2);
//迭代器
for(auto p=s.begin();p!=end();p++)
{
cout<<*p<<"";
}
cout<<endl;//换行
//查找
cout<<(s.find(2)!=s.end())<<endl;
//删除
s.erase(1);//将集合里面的1删除 erase--橡皮擦
cout<<(s.find(1)!=s.end())<<endl;//删除后看是否能找到
return 0;
}
3.>map(键值对)
键值对按照从小到大进行排列
#include<iostream>
#include<string>
using namespace std;
#include<map>
int main()
{
//创建键值对
map<string,int>m;//m为变量名
//添加
m["hello"]=2;//注意中间用双引号
m["world"]=3;
cout<< " hello:"<<m["hello"]<<endl;
//利用迭代器输出所有键值对 可以将其理解为结构体 如下:在main函数下面
for(auto p=m.begin();p!=m.end();p++)
{
cout<<p->first<<":"<<p->second<<endl;
}
cout<<"map的长度:"<<m.size<<endl;//容器可以求其大小
return 0;
}
struct s
{
string key;
int data;
}
后面还有stack(栈)、queue(队列)等,但前面的这些知识就能够可以进行c++编写程序了。