前言:前面耽误太多时间,2月份是代码月,一定抓紧赶上,每天至少两道题
day1 2024.2.6
1.排序开启:
1.机试考试:排序应用考察
c的qsort c++的sort
作用:对数组,vector排序;自定义排序规则
#include<algorithm>
2.注意:arr是数组名,当他作为函数参数时,会退化成数组首地址
(1)静态动态数组排序
上图就是对数组进行排序
(2)自定义方式排序、说明我们现在目标就是设计compare,compare可以设计出任何类型
(3)compare是我们的关键部分
返回bool类型;它的参数类型和原来数组类型一致
compare函数内容:当数据不会发生交换时候,返回真
比如我们想要升序:左>又
2.奇偶整数排序
1.题目:3446. 整数奇偶排序 - AcWing题库
2.思路:不就是设计compare吗,那我第一次先把奇偶分开,第二次排序奇数,第三次排序偶数
老师思路
3.代码
//题目:给10个数,把这十个数排序,先输出奇数,降序;再输出偶数,升序
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
bool compare1(int lf, int rt)
{return lf % 2 == 1 && rt % 2 == 0;//先把奇偶分开
}
bool compare2(int lf, int rt)
{return lf % 2 == 1 && rt % 2 == 1 && lf > rt;
}
bool compare3(int lf, int rt)
{return lf % 2 == 0 && rt % 2 == 0 && lf < rt;
}
int main()
{int a[10];for (int i = 0; i < 10; i++)cin >> a[i];//现在排序//先去写comparesort(a, a + 10, compare1);现在他是先输出奇数,在输出偶数sort(a, a + 10, compare2);sort(a, a + 10, compare3);for (int i = 0; i < 10; i++)cout<< a[i]<<' ';
}