⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgenome.cpp

📁 自己收集的八皇后问题相关知识,有不少源代码,能解决八皇后问题
💻 CPP
字号:
#include "CGenome.h"

CGenome::CGenom(int num_bits)
{
	num_bit = num_bits;
	dFitness = 0;
	int n = 0;
	int i = 0,j = 0;
	for(i = 0; i < num_bits; i++)
	{
		do
		{
			n = rand()%num_bits;
			for(j = 0; j < i; ++j)
			{
				if(n == vecBits[j])
				{
					break;
				}
			}
		}while(j != i);
		vecBits.push_back(n);
	}
}

void CGenome::ShowBits()
{
	for(vecBits_it = vecBits.begin(); vecBits_it != vecBits.end(); vecBits_it++)
	{
		cout<<*vecBits_it+1<<' ';
	}
	UpdateFitnessScore();
	cout<<"Fit: "<<dFitness<<endl;
}

void CGenome::UpdateFitnessScore()
{
	int i = 0,j = 0;
	double wrong = 0;
	for(i = 0; i < num_bit; i++)
	{
		for(j = i+1; j < num_bit; j++)
		{
			if(vecBits[i]-i == vecBits[j]-j || vecBits[i]+i == vecBits[j]+j)
			{
				wrong++;
			}
		}
		
	}
	dFitness = 1/(wrong+1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -