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

📄 ba.cpp

📁 复杂网络是一门前沿科学
💻 CPP
字号:
#include <iostream>
using namespace std;



void main()
{
	int m=5;       /*初始态为全耦合网络,m=5,初始时有m个点,每次连接m条边*/
	int N=20;      /* N——网络的大小*/
    int Nodes[20][20]={0};      /*Nodes——N*N矩阵,网络中各点的连接情况*/
    int i ,j,v,w ;
    int t ;
	int n,p,q,b;
	int sum=20;
	int list[300]={1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5};   /*list——另外生成的一个向量,
	表示了各点连接的情况,随机从该向量中取点,相当于按照度的概率取点*/



   for(i=0;i<5;i++)      /*生成的初始网络*/

	{
	 Nodes[i][i]=1-m;

	 for(j=0;j<m;j++)
	 {
	  if(j!=i)

	   {Nodes[i][j]=1;
		Nodes[j][i]=1;
	   }
	  
	 }
	}
	cout<<"初始矩阵:"<<endl;
	 for(q=0;q<5;q++)
		for(int b=0;b<5;b++)
		{
			  cout<<Nodes[q][b]<<"  ";
			  if(b==4)
			    cout<<endl;
		}



    

	

    for(n=5;n<N;n++)            
	{	 	   
	    for(i=0;i<5;i++)
		{   			
			list[sum]=n+1; 
		    sum++;
		}
		for(i=0;i<5;i++)
		{			
     	 	w=1;
			v=sum-5;
            while(w<2)
			{
		      p=rand();
              if (p>=0&&p<v)           
			  {
				  if(p==0)
				  {
					  list[sum++]=1;
					  if(Nodes[n][0]==0)
					  {
					   Nodes[0][n]=1;
					   Nodes[n][0]=1;
					   Nodes[n][n]=Nodes[n][n]-1;
					   Nodes[0][0]=Nodes[0][0]-1;
					  }
				  }
				  else
				  {
					  if(Nodes[n][list[p]-1]==0)
					  {
					      if(list[p]-1!=n)
						  {
							  list[sum++]=list[p];
                              Nodes[n][list[p]-1]=1;
                              Nodes[list[p]-1][n]=1;
                              Nodes[list[p]-1][list[p]-1]=Nodes[list[p]-1][list[p]-1]-1;
					          Nodes[n][n]=Nodes[n][n]-1;
				              w=3;
						  }
					  }
				 	  else w=1;
				  }
			  }
			  else w=1;
			 } 
		}
	}
	cout<<"最后矩阵:"<<endl;
	for(q=0;q<N;q++)
	{
		for(int b=0;b<N;b++)
		{
			  cout<<Nodes[q][b]<<"  " ;
			  if(b==(N-1))
			    cout<<endl;
		}
	}

	cout<<endl<<"LIST:"<<endl;
	for(i=0;i<200;i++)
		cout<<list[i]<<"  ";
	cout<<"结束";
	
}


           
 

⌨️ 快捷键说明

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