財神娛樂首存即享優惠回饋唷~詳情請進👉

《數據布局》家有賭場圖存儲遍歷示例

線上麻將賭博

??? 人人好,圖是一種龐大的布局,存儲布局較龐大,上面是一個詳細圖的鄰接矩陣存儲要領示例,并完成了深度優先以及廣度優先遍歷輸入。

#include<iostream>
using namespace std;
co捕魚達人nst int MaxSize=10;

template <class DataType>
class MGraph
{
public:
   MGraph(DataType a[ ],int n,int e);    //組織函數,確立具備n個極點e條邊的圖
   ~MGraph( ) { }                     //析構函數為空
   void DFSTraverse(int v);              //深度優先遍歷圖
   void BFSTraverse(int v);               //廣度優先遍歷圖
private:
    DataType vertex[MaxSize];          //寄存圖中極點的數組
    int arc[MaxSize][MaxSize];          //寄存圖中邊的數組
    int vertexNum,arcNum;             //圖的極點數以及邊數
};

template <class DataType>
MGraph<DataType>::MGraph(DataType a[ ],int e)
{	int i,j;
	vertexNum=n; arcNum=e;
	for (i=0; i<vertexNum; i++)
		vertex[i]=a[i];
	for (i=0; i<vertexNum; i++)
        for (j=0; j<vertexNum; j++)
			arc[i][j]=0;
	for (int k=0; k<arcNum; k++)
	{	cout<<"大眾請輸出邊的兩個極點的序號:公眾;
		cin>>i;
		cin>>j;
		arc[i][j]=1; arc[j][i]=1;	
	}
}

template <class DataType>
void MGraph<DataType>::DFSTraverse(int v)
{	cout << vertex[v]; visited[v] = 1;
	for (int j = 0; j < vertexNum; j++)
		if (arc[v][j] == 1 && visited[j]==0) 
			DFSTraverse(j);
}

template <class DataType>
void MGraph<DataType>::BFSTraverse(int v)
{	int Q[MaxSize];
	int front = -1,rear = -1;   //初始化行列步隊,假定行列步隊采取次序存儲且不會產生溢出
	cout << vertex[v]; visited[v] = 1;  Q[++rear] = v; 捕魚達人簽到  //被走訪極點入隊
	while (front != rear)                   //當行列步隊非空時
	{	v = Q[++front];                   //將隊頭元素出隊并送到v中
		for (int j = 0; j <電競運彩玩法 vertexNum; j++)
			if (arc[v][j] == 1 && visited[j] == 0 ) 
			{ cout << vertex[j]; 
			  visited[j] = 1; 
			  Q[++rear] = j;
			}
	}
}
 in增加偏財運的方法t visited[MaxSize];
 
int main( )
{   int n,e;
    char ch[MaxSize];
	for(int i=0;i<MaxSize;i++)
		visited[i]=0;
        cout<<"大眾請輸出極點數以及邊數:公眾;
	    cin>>n>>e;
        cout<<endl<<公眾請輸出極點:"大眾;
    for(int i=0;i<n;i++)
        cin>>ch[i];
	MGraph<char> MG(ch,n,e);
	cout<<"大眾深度優先遍歷序列是:"大眾;
	MG.DFSTraverse(0);
	cout<<endl;
	for (int i=0; i<MaxSize; i++)
		visited[i]=0;
    cout<<"大眾廣度優先遍歷序列是:"大眾;
	MG.BFSTraverse(0);
	cout<<endl;
	system("大眾pause公眾);
    return 0;
}

運轉時界面以及輸出以下:

請輸出極點數以及邊數:7? ?11

請輸出極點:A? B? C? D? E? F? G

請輸出邊極點:0? 1

請輸出邊極點:0 ?3

請輸出邊極點:1? 3

請輸出邊極點:1 ?2

請輸出邊極點:1? 4

請輸出邊極點:2? 4

請輸出邊極點:3? 4

請輸出邊極點:3? 5

請輸出邊極點:4 ?5

請輸出邊極點:5? 6

深度優先遍歷次序為:A B C E D F G

廣度優先遍歷次序為:A B D C E F G

人人可以測驗考試存儲別的圖,也能夠使用鄰接表來寄存。祝人人勝利!

??

【免責聲明】本站內容轉載自互聯網,其相關談吐僅代表作者小我私家概念盡非權勢巨子,不代表本站態度。如您發明內容存在版權成績,請提交相關鏈接至郵箱:,咱們將實時予以處置。