遗传算法 1——vector的使用

为了 在100*100区域生成900个传感器节点
编译器选择:Dev C++
由于Dev C++编译器存在个不足,那就是当devc++程序运行后产生的结果数据多,不能全部都看到,找到个解决方法:
DOS命令:输入win+R 打开DOS命令行窗口
DOS命令:输入 cd… 退出到C:
在这里插入图片描述
将源代码456.cpp保存到E:\,编译运行后的456.exe会自动生成到E:
DOS命令:进入E盘,输入C:>cd /d E:
在这里插入图片描述

DOS命令:456.exe > 1206.txt
在这里插入图片描述
点enter回车后,你会在E盘:看到1206.txt文件
在这里插入图片描述

/* 初值定义 */
struct Sensor
{
  int id;//传感器的id
  int x;
  int y;
  int battery;
};
const int MAXLENGTH = 100;
const int MAXWIDTH = 100;
const int N = 900;
vector <Sensor>a;

定义Sensor生成函数

void GenerateSensor(int length, int width , int number);
/* 函数调用 */
GenerateSensor(MAXLENGTH, MAXWIDTH, N);

使用了C++ vector容器

举例说明cout的用法:cout用法
定义1个变量a,初始值为123,输出该值

#include <iostream>
#include <vector>

using namespace std;
int main()
{
  int a = 123;
  cout << a << endl;
  return 0;
}

运行结果:
在这里插入图片描述

举例说明vector的用法:Vector介绍1 vector介绍2
定义有10个整型元素的数组a,且给出的每个元素初值为1

#include <iostream>
#include <vector>

using namespace std;
int main()
{
  vector<int>a(10,1);
  cout << a[0] << endl;
  cout << a[1] << endl;
  cout << a[2] << endl;
  cout << a[3] << endl;
  cout << a[4] << endl;
  cout << a[5] << endl;
  cout << a[6] << endl;
  cout << a[7] << endl;
  cout << a[8] << endl;
  cout << a[9] << endl;
  return 0;
}

运行结果:
在这里插入图片描述

上述结果,简便方法push_back用法
定义有10个整型元素的数组a,且给出的每个元素初值为1

#include <iostream>
#include <vector>

using namespace std;
int main()
{
  vector<int>a;
  for(i=0;i<10;i++)
  {
    a.push_back(1);
  }
  for(std::vector<int>std::interator m = a.begin(); m!=a.end(); m++)
  {
    cout << *m << endl;
  }
}

运行结果:
在这里插入图片描述

在此基础上,定义有10个整型元素的数组a,且给出的每个元素赋初值0~9
迭代器用法
迭代器使用

#include <iostream>
#include <vector>

using namespace std;
int main()
{
  vector<int>a;
  for(i=0;1<10;i++)
  {
    a.push_back(i);
  }
  for(std::vector<int>::interator m = a.begin(); m!=a.end(); m++)
  {
    cout << *m << endl;
  }
}

运行结果:
在这里插入图片描述

Sensor生成函数的实现 rand函数用法 输出结构体变量参考

void GenerateSensor(int length, int width, int number)
{
    for(i=0; i<number; i++)
    {
       a.push_back({i, rand()%length, rand()%width, rand()%100});
    }
     for(int j=0;j<900;j++)
	{
		cout << a[j].id <<"   "<< a[j].x <<"   "<< a[j].y <<"   "
		<< a[j].battery << endl;	
	}
  }
}

运行结果:
生成传感器函数所有值可以参考:全部数据
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值