sort
撰写于 2019-11-17
修改于 2019-11-17
分类
ACM
标签
sort
1.结构体
1.只有结构体定义
1 2 3 4 5
| struct node { int a; float b; char job[20]; }
|
2.定义一个结构体变量
3.结构体之间的赋值
如果我有一个结构体node a,但是我想在定义一个结构体(node b)并且让这个新定义的结构体( b )里面的值都和之前的结构体 a相同 。
4.结构体的引用
1 2 3 4 5 6 7 8 9 10
| struct node { int sorce; char name[20] ; } node chengjidan; int main(){ cin>>chengjidan.sorce>>chengjidan.name; cout<<"name: "<<chengjidan.name<<endl; cout<<"sorce: "<<chengjidan.sorce<<endl; }
|
5.结构体的运算符重载
2.sort
简介:
sort 排序函数是在 C++ 中的一个库函数,它所在的头文件 为 algrithm.h,它其实就是对快速排序算法的封装,只需要 一行代码即可实现快速排序 它的时间复杂度为 O(n∗log(n)) 形式:sort(参数一, 参数二,参数三) 使用范围: 数组结构体 sting 队列 vector……
使用方法:
对数组 a 从小到大排序
a[5]1 2 3 4 5 6 7 8
|
```\ 对数据类型 Y 排序 sort(地址 1,地址 2,less<Y>()); //以Y为int为例 int a[5]={2,1,3,4,5}; sort(a,a+5,less<int>()); //less<int>()升序 //greater<int>()降序
|
自己定义sort排序
自定义排序
1 2 3 4
| bool cmp(int a,int b){ return a<b; return a>b; sort(a,a+n,cmp)
|
结构体排序
1 2 3 4 5
| bool cmp1(node a,node b){ if(a.grade!=b.grade) return a.grade>b,grade; return a.id<b.id; sort(a,a+n,cmp1); }
|
3.栈和队列
栈和队列是一种特殊的线性表,其区别在于栈是先进后出像 一个瓶子,而队列是先进先出像排队
1 2 3 4 5 6 7
| q.empty() q.size() q.pop() q.front() q.push() q.back()
|