http://blog.csdn.net/qq_22764813/article/details/52613872
vector 用法 http://blog.csdn.net/crisy1991/article/details/51553907
尾部插入元素
vectorA;
A.push_back(-1);
初始化
int m;
vector<int>a(m); 建立大小为m的容器
vector<int>a(m,-1); 全部初始化为-1;
长度
A.size();
删除第几个元素
positions.erase(positions.begin() + i);
vector 排序并删除重复元素
sort(a.begin(),a.end()-1);
sort(a, a +10);
sort(v.begin(),v.end());
v.erase(unique(v.begin(), v.end()), v.end());
unique()函数将重复的元素放到vector的尾部 然后返回指向第一个重复元素的迭代器再用erase函数擦除从这个元素到最后元素的所有的元素
abs()求得是正数的绝对值。
fabs()求得是浮点数的绝对值。
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回长整型参数n的绝对值
十进制转二进制
for(int i = 16; i >= 0; i--)
{
if(val & (1 << i))
cout << "1";
else
cout << "0";
}
1左移动i位
C++如何保留2位小数输出
cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include <iomanip>
没有fixed输出是有效位数。
或 cout <<setprecision(2) <<std::fixed <<x <<endl;
X的Y次方
pow(x,y);头文件<math.h>
pow(x,05);平方根
C++二维数组的动态声明
申请空间
- int ** a = new int *[row];
- for(int i = 0;i < row;i++)
- a[i] = new int[column];
- //使用空间
- for(int j = 0;j < row;j++)
- for(int k = 0;k< column;k++)
- a[j][k] = rand()%100;
- //释放空间
- for(int i = 0;i < row;i++)
- {
- delete a[i];
- a[i] = NULL;
- }
- delete [row]a;
- a = NULL;