1 / 8
文档名称:

算法设计和分析 寻找主油管位置.doc

格式:doc   大小:56KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

算法设计和分析 寻找主油管位置.doc

上传人:蓝天 2021/7/22 文件大小:56 KB

下载得到文件列表

算法设计和分析 寻找主油管位置.doc

相关文档

文档介绍

文档介绍:第一个作业输油管问题:
请启动 oil channel
将测试文件的路径或者直接拖拽测试文件到控制台中,即可得到输出结果存放在测试文件目

// in
5
12
22
13
3-2
33
23
2 19
8923 23
9 32
9 12
23 42
23-8
23 890
23 -2
2-29
// copyright: @ Eason Yang
//data:
include <iostream>
#inelude <fstream>
#inelude <string>
#include <cstdio>
#include <>
using namespace std;
include ""
bool LoadWellData(int * data_y, int & n, string szPath);
int main(int argc, char ** argv)
{
string szPath, szTemp;
//得到文件路径;
cout« "请输入测试文件路径或者将该文件拖入控制台中:”《 endl; getline(cin, szTemp, '\n');
if (「") != string::npos && ("") != stripos)
{
szPath = (("")+l, ("")-l);
}
else
{
szPath = szTemp;
}
int * data_y = new int[1000000];
int n = 0;
//if (!LoadWellData(data_y, n, szPath))
//{
// cout « "亲,测试文件中的数据格式不正确,请检查核对后才重新运行。谢谢。” « endl;
// return -1;
//}
// for my test
n = 50000;
for (int i = 0; i < n ; i++)
{
data_y[i] = ran d();
}
clock_t start_clock, end_clock;
start_clock = clock();
〃求油管的y坐标,如果油井数是奇数,那就是中位数;如果是偶数,则是中间两个数 的均值;
int main_channel_y = YXYSort<int>::GetKth(data_y, n, n / 2 + 1);
Illi理论上而言,如果只求解输油管最小长度总和;
〃讦(n%2 == 0)
//{
// main_channel_y = (YXYSort<int>::GetKth(data_y, n, n / 2) +
YXYSort<int>::GetKth(data_y, n, n / 2 + 1)) / 2;
//}
//else
//{
// main_channe