编程之美4.5 磁带文件存放优化
2013-08-25 15:32
323 查看
推荐http://www.cnblogs.com/flyinghearts/archive/2011/03/22/1991997.html
#include <iostream>
#include <vector>
using namespace std;
#define size 4
void calc(int pri[],int len[]){
vector<int> vec;
bool check[size];//判断该位是否使用过
for(int i=0;i<size;i++){//初始化
check[i] = true;
}
int sum = 0;//文件长度和
int pos;//当前最优位置
for(int j=0;j<size;j++){
double pl = -1000;//重置
for(int i=0;i<size;i++){
if(check[i]){
int temp = sum+len[i];
if(pri[i]/temp>pl){
pos = i;
}
}
}
sum += len[pos];
check[pos] = false;
vec.push_back(pos);
}
for(i=0;i<size;i++)
cout<<len[vec[i]]<<" ";
cout<<endl;
}
int main(){
int pri[]={4,3,2,1};
int len[]={1,2,3,4};
calc(pri,len);
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
#define size 4
void calc(int pri[],int len[]){
vector<int> vec;
bool check[size];//判断该位是否使用过
for(int i=0;i<size;i++){//初始化
check[i] = true;
}
int sum = 0;//文件长度和
int pos;//当前最优位置
for(int j=0;j<size;j++){
double pl = -1000;//重置
for(int i=0;i<size;i++){
if(check[i]){
int temp = sum+len[i];
if(pri[i]/temp>pl){
pos = i;
}
}
}
sum += len[pos];
check[pos] = false;
vec.push_back(pos);
}
for(i=0;i<size;i++)
cout<<len[vec[i]]<<" ";
cout<<endl;
}
int main(){
int pri[]={4,3,2,1};
int len[]={1,2,3,4};
calc(pri,len);
return 0;
}
相关文章推荐
- 《编程之美》4.5磁带文件存放优化:最优解是怎样炼成的
- 编程之美4.5 磁带文件存放优化
- 《编程之美》4.5磁带文件存放优化:最优解是怎样炼成的
- 编程之美:第四章 数字之趣 4.5磁带文件存放优化
- 《编程之美》读书笔记15: 4.5 磁带文件存放优化
- 《编程之美》4.5磁带文件存放优化:最优解是怎样炼成的
- 编程之美读书笔记_4.5_磁带文件存放优化
- 编程之美读书笔记_4.5_磁带文件存放优化
- 读书笔记之编程之美 - 4.5 磁带文件存放优化
- 编程之美----磁带文件存放优化
- 编程之美---磁带文件存放优化
- 磁带文件存放优化
- 磁带文件存放优化
- 每日一题(90) - 磁带文件存放优化
- 《编程之美》分离变量法,磁带访问优化方案
- Android 性能优化(六)——资源文件的存放
- 《编程之美》——分离变量法,磁带访问优化方案(个人见解)
- 数据库优化实践【文件、文件组、分区篇】
- HttpClient 4.5版本实现文件上传下载以及常用post、get请求
- VC——通过数据库存放路径来播放音频文件