B3798 梦熊培养计划

排序: sort() 函数
方法 1 sort( 起始地址,末尾地址 +1)
方法 2 sort( 起始地址,末尾地址 +1 cmp) //cmp 是自定义的排序规则
sort 是默认升序排序的,如果需要自定义排序,可以写一个比较函数,用第二种方法
排序。
例如:对一个数组 a 进行升序排列,( a 中的元素存储从 a[1]~a[n] ),则可以写成:
sort(a+1, a+1+n);
如果元素存储是 :a[0]~a[n-1] , 则写成: sort(a, a+n);
注意: sort 的时间复杂度为 o(nlogn) ,而冒泡排序的时间复杂度为: o(n 的平方 )
sort 比冒泡排序用时少
#include
using namespace std;
struct student{
	string name;
	double ch;
}s[100002];
bool gt(student s1,student s2){
	if(s1.ch!=s2.ch) return s1.ch>s2.ch;
	return s1.name>s[i].name;
		sum=0;
		for(int j=1;j<=m;j++){
			cin>>score[j];
			sum+=score[j];
		}
		double ave=sum*1.0/m;
		double a=0;
		for(int t=1;t<=m;t++){
			a+=(score[t]-ave)*(score[t]-ave);
		}
		double cha=a/m;
		s[i].ch=sqrt(cha);
	}
	sort(s+1, s+n+1, gt);
	if(n<=20){
		for(int i=1;i<=n;i++){
			cout<

你可能感兴趣的:(算法,数据结构)