array拷贝至vector
int A[] = {1, 2, 3, 4};
int Asize = sizeof(A) / sizeof(int);
vector<int> V(A, A + Asize);
sort()函数中的cmp()
必须遵循 严格弱序
// 升序
bool cmp1(const int &a, const int &b)
{
return a < b;
}
// 降序
bool cmp2(const int &a, const int &b)
{
return a > b;
}
// 调用
int A[] = {12, 31, 2, 99, 24};
int Asize = sizeof(A) / sizeof(int);
vector<int> V(A, A + Asize);
sort(A, A + Asize, cmp1);
sort(V.begin(), V.end(), cmp2);
- 与 \(C\) 中的 \(qsort()\) 比较
// 升序
int cmp3(const void *a, const void *b)
{
return *(int*)a - *(int*)b;
}
// 降序
int cmp4(const void *a, const void *b)
{
return *(int*)b - *(int*)a;
}
// 调用
int A[] = {12, 31, 2, 99, 24};
int Asize = sizeof(A) / sizeof(int);
qsort(A, Asize, sizeof(int), cmp3);
qsort(A, Asize, sizeof(int), cmp4);
priority_queue中的cmp()
与 \(sort()\) 正好相反
// 最大堆
struct cmp1
{
bool operator()(const int &a, const int &b)
{
return a < b;
}
};
// 最小堆
struct cmp2
{
bool operator()(const int &a, const int &b)
{
return a > b;
}
};
// 调用
int A[] = {12, 31, 2, 99, 24};
priority_queue<int, vector<int>, cmp1> Q1; // 最大堆
priority_queue<int, vector<int>, cmp2> Q2; // 最小堆
快速读取
- 整型
int quickin(void)
{
int ret = 0;
char ch;
bool flag = false;
ch = getchar();
while (ch < '0' || ch > '9')
{
if (ch == '-')
flag = true;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
ret = 10 * ret + ch - '0';
ch = getchar();
}
if (flag)
ret = -ret;
return ret;
}
标签:ch,const,int,return,Asize,注意事项,cpp,一些,sizeof
From: https://www.cnblogs.com/hoyd/p/18007601