称不上算法的算法-2.简单的排序

Posted liuzey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了称不上算法的算法-2.简单的排序相关的知识,希望对你有一定的参考价值。

一、sort()

HDU1031

#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<cstring>
struct node{
    int pos;
    double val;
}t[2000];
bool cmp1(node a,node b){//************************
    return a.val>b.val;//      sort()中比较函数的写法
}                       //***************************
bool cmp2(node a,node b){
    return a.pos>b.pos;
}
using namespace std;
int main(void){
    int n,m,k;
    while(scanf("%d%d%d",&n,&m,&k) == 3){
        memset(t,0,sizeof(t));
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                t[j].pos=j+1;
                double tmp;
                scanf("%lf",&tmp);
                t[j].val+=tmp;
            }
        }
        sort(t,t+m,cmp1);//sort()的用法
        sort(t,t+k,cmp2);
        for(int f=0;f<k;f++)
            printf("%d%c",t[f].pos,f==k-1? \n: );//空格间隔换行结尾的一种写法
    }
    return 0;
}

 

以上是关于称不上算法的算法-2.简单的排序的主要内容,如果未能解决你的问题,请参考以下文章

算法表达式生成器

7种基本排序算法的Java实现

c语言进阶11-算法设计思想

python学习选择排序算法简单代码

Java排序算法 - 堆排序的代码

十大经典排序算法(上)