X01-day 08 排序复习资料
2023-08-09 19:11:04
发布于:浙江
1.冒泡
//吐泡泡,相邻的两个数进行比较,较大(较小)的数往后交换
for(int i = 1 ; i < n ; i++){
for(int j = 1 ; j <= n - i ; j++){
if(a[j] > a[j + 1]){
swap(a[j] , a[j + 1]);
}
}
}
2.选择
//每一次都去找最大(最小)的数,跟最前的位置进行调换
for(int i = 1 ; i < n ; i++){
int minn = i;
for(int j = i + 1 ; j <= n ; j++){
if(a[minn] > a[j]){
minn = j;
}
}
swap(a[i] , a[minn]);
}
3.桶
//数据不能过大
for(int i = 1 ; i <= n ; i++){
int idx;
cin >> idx;
a[idx] ++ ;
}
4.sort
三个参数
第一个:变量名 + 开始的位置
第二个:变量名 + 结束的位置 + 1
第三个:排序规则
写法:
sort(a + 1 , a + n + 1, cmp);
排序规则:
bool cmp(int x,int y){
return x > y;//从大到小
return x < y;//从小到大
}
cmp中的两个参数类型,需要跟随数组类型 保持一致
全部评论 4
666
2024-07-15 来自 广东
0可以再详细点吗1
2023-08-15 来自 四川
0炫总牛逼
2023-08-12 来自 浙江
0为什么都没人评论啊,炫总的评论区好冷清啊
2023-08-12 来自 浙江
0因为炫总一口炫一个小孩,小孩都被炫总炫没了(我是幸存者)
2024-02-02 来自 北京
1浙江省的小孩都被炫完了,所以他来北京炫小孩了(doge)
2024-02-02 来自 北京
0现在来上海炫小孩了。。。。。。。。啊啊啊不好意思,炫刁文杰(刁老师)鹅鹅鹅
2024-07-15 来自 上海
1
有帮助,赞一个