麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

判斷給定的圖是不是有向無環圖實例代碼

2020-01-26 16:14:49
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

#include<iostream>
#include<list>
#include<stack>
using namespace std;

class Graph {
 int vertexNum;
 list<int> *adjacents;
public:
 Graph(int _vertexNum) {
  vertexNum = _vertexNum;
  adjacents = new list<int>[vertexNum];
 }
 void findIndegree(int *indegree, int n);
 bool topologicalSort();
 void addEdge(int v, int w);
};

void Graph::addEdge(int v, int w) {
 adjacents[v].push_back(w);
}

void Graph::findIndegree(int *indegree, int n) {
 int v;
 list<int>::iterator iter;
 for(v = 0; v < vertexNum; v++) {
  for (iter = adjacents[v].begin(); iter != adjacents[v].end(); iter++)
   indegree[*iter]++;
 }
}

bool Graph::topologicalSort() {
 int ver_count = 0;
 stack<int> m_stack;
 int *indegree = new int[vertexNum];
 memset(indegree, 0, sizeof(int) * vertexNum);
 findIndegree(indegree, vertexNum);
 int v;
 for (v = 0; v < vertexNum; v++)
  if (0 == indegree[v])
   m_stack.push(v);
 while (!m_stack.empty()) {
  v = m_stack.top();
  m_stack.pop();
  cout << v << " ";
  ver_count++;
  for (list<int>::iterator iter = adjacents[v].begin(); iter != adjacents[v].end(); iter++) {
   if (0 == --indegree[*iter])
    m_stack.push(*iter);
  }
 }
 cout << endl;
 if (ver_count < vertexNum)
  return false;
 return true;
}

int main(int argc, char *argv[]) {
 Graph g(6);
 g.addEdge(5, 2);
    g.addEdge(5, 0);
    g.addEdge(4, 0);
    g.addEdge(4, 1);
    g.addEdge(2, 3);
    g.addEdge(3, 1);
 if (g.topologicalSort())
  cout << "it is a topological graph" << endl;
 else
  cout << "it is not a topological graph" << endl;
 cin.get();
 return 0;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 欧洲黄视频 | 久久久久久久.comav | 久久久一区二区精品 | 成人免费网站在线观看 | 国产手机在线视频 | 天堂在线资源av | 99re久久最新地址获取 | 999久久久国产999久久久 | www深夜成人 | 性大片免费看 | 中文字幕电影免费播放 | 一区二区国产在线 | 亚州视频在线 | 亚洲卡通动漫在线观看 | 视频一区二区精品 | 91精品国产成人 | 亚洲一级网站 | 中文字幕激情视频 | 成人wxx视频免费 | 欧日韩| 爱高潮www亚洲精品 欧美黄色一级片视频 | 久久国产精品久久久久久久久久 | 激情小说激情电影 | 久久91精品国产91久久yfo | 黄色av免费网站 | 国产精品99久久久久久久vr | 黄色的视频免费看 | 精品中文视频 | 污黄视频在线观看 | 欧美日韩大片在线观看 | av电影免费播放 | 国产乱xxxx| 精品亚洲va在线va天堂资源站 | 国产男女 爽爽爽爽视频 | 一级免费大片 | 午夜视频免费在线观看 | 色婷婷av一区二区三区久久 | 成熟女人特级毛片www免费 | 一区二区久久久久草草 | 青草av.久久免费一区 | 精品在线观看一区 |