您的位置:首页 > 理论基础

【北邮OJ】277. 内存分配-网研14-计算机二14

2017-03-22 21:36 246 查看
总结:

1。自定义cmp函数

适用于:

①结构体多重排序

②改变排序规则(如倒序)

2。注意可用位的设置

#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;

struct memblock{
int mem;
int avail;
};

bool cmp(memblock a,memblock b){
if(a.mem != b.mem) return a.mem<b.mem;
}

int main(){
int t,T;
cin>>T;
for(t=1;t<=T;t++){
int n,N;
cin>>N;
memblock str[100];
int j;
for(j=0;j<=99;j++)
str[j].avail=0;
for(n=0;n<=N-1;n++)
cin>>str
.mem;
sort(str,str+N,cmp);
int m,M;
cin>>M;
for(m=1;m<=M;m++){
int request;
cin>>request;
int i;
for(i=0;i<=N-1;i++){
if((request <= str[i].mem) && (str[i].avail==0)){
cout<<str[i].mem;
str[i].avail=1;
if(m != M)
cout<<" ";
break;
}
}
if(i==N){
cout<<"NULL";
if(m != M)
cout<<" ";
}
}
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: