最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)有向圖鄰接表的構(gòu)建

 更新時間:2020年04月26日 14:12:19   作者:GetoWork  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)有向圖鄰接表的構(gòu)建,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)有向圖鄰接表的構(gòu)建代碼,供大家參考,具體內(nèi)容如下

數(shù)據(jù)結(jié)構(gòu)里面的一道基礎(chǔ)題,分享下自己的寫法,驗(yàn)證可跑。

#include<iostream>
#include<string>
const int MAX = 20;
using namespace std;
 
 
struct ArcNode {      //弧結(jié)點(diǎn)
 int adjvex = -1;     //所指頂點(diǎn)位置
 ArcNode *nextarc = nullptr; //下一條狐指針
 size_t info = 0;  //弧信息
};
 
 
struct VNode {      //頂點(diǎn)
 string data = "0";
 ArcNode *firstarc = nullptr; //第一條依附該頂點(diǎn)的弧的指針
};
 
 
struct Graph {      //圖結(jié)構(gòu)
 VNode vertices[MAX];         //全部頂點(diǎn)
 int vexnum, arcnum;     //頂點(diǎn)數(shù)和弧數(shù)
 Graph(int m, int n) :vexnum(m), arcnum(n) {};
 Graph() :vexnum(0), arcnum(0) {};
};
 
 
int main()
{
 int vnum, anum, tempanum = 0;
 cout << "輸入頂點(diǎn)數(shù):";
 cin >> vnum;
 cout << "輸入弧數(shù):";
 cin >> anum;
 cout << "\n\n";
 Graph G(vnum, anum);
 for (int i = 0; i != vnum; ++i) {
 cout << "輸入結(jié)點(diǎn)" << i << "的信息:";
 cin >> G.vertices[i].data;
 if (tempanum != anum)
  cout << "輸入依靠此結(jié)點(diǎn)的弧的信息(輸入-1以停止):\n";
 else
  cout << "已輸入所有弧的信息!\n";
 bool first = true;
 ArcNode *p, *temp;
 for (int j = 0; (j != anum) && (tempanum != vnum); ++j) {
  int pointto;
  cout << "輸入弧" << tempanum << "所指向的頂點(diǎn)位置:";
  cin >> pointto;
  if (pointto == -1) break;
  else {
  ++tempanum;
  if (first == true) {
   first = false;
   G.vertices[i].firstarc = new ArcNode;
   G.vertices[i].firstarc->adjvex = pointto;
   p = G.vertices[i].firstarc;
  }
  else {
   temp = new ArcNode;
   temp->adjvex = pointto;
   p->nextarc = temp;
   p = temp;
  }
  }
 }
 cout << endl;
 }
 
 for (int i = 0; i != anum; ++i) {
 cout << "頂點(diǎn)" << i << ": |" << G.vertices[i].data << "|";
 if (G.vertices[i].firstarc) {
  cout << " -> " << G.vertices[i].firstarc->adjvex;
  auto pt = G.vertices[i].firstarc->nextarc;
  while (pt) {
  cout << " -> " << pt->adjvex;
  pt = pt->nextarc;
  }
  cout << "-> ^";
 }
 else
  cout << " -> ^";
 cout << endl;
 }
 return 0;
}

由于只是單純構(gòu)建基本的無權(quán)值有向圖鄰接表,里面的弧結(jié)構(gòu)中弧信息未利用到。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于C++實(shí)現(xiàn)BMI身體質(zhì)量指數(shù)計算工具

    基于C++實(shí)現(xiàn)BMI身體質(zhì)量指數(shù)計算工具

    BMI(Body?Mass?Index,身體質(zhì)量指數(shù)),也稱為體重指數(shù),是一種常用的衡量成人人體肥胖程度的指標(biāo),本文就來用C++編寫一個簡單的BMI計算工具吧
    2023-10-10
  • C語言 CRITICAL_SECTION用法案例詳解

    C語言 CRITICAL_SECTION用法案例詳解

    這篇文章主要介紹了C語言 CRITICAL_SECTION用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C++代碼實(shí)現(xiàn)逆波蘭式

    C++代碼實(shí)現(xiàn)逆波蘭式

    這篇文章主要為大家詳細(xì)介紹了C++代碼實(shí)現(xiàn)逆波蘭式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++實(shí)現(xiàn)路口交通燈模擬系統(tǒng)

    C++實(shí)現(xiàn)路口交通燈模擬系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)路口交通燈模擬系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++虛函數(shù)表的原理與使用解析

    C++虛函數(shù)表的原理與使用解析

    對C++?了解的人都應(yīng)該知道虛函數(shù)(Virtual?Function)是通過一張?zhí)摵瘮?shù)表(Virtual?Table)來實(shí)現(xiàn)的。簡稱為V-Table。本文就將詳細(xì)講講虛函數(shù)表的原理與使用,需要的可以參考一下
    2022-04-04
  • C++之openFrameworks框架介紹

    C++之openFrameworks框架介紹

    本章我們將介紹一個非常好用的跨平臺的 C++開源框架 openFrameworks。它是一個開源的跨平臺的C++工具包,方便開發(fā)者創(chuàng)建出一個更簡單和直觀的框架,擅長開發(fā)圖像和動畫,感興趣的同學(xué)可以參考一下
    2023-05-05
  • C/C++讀取配置文件的方式小結(jié)

    C/C++讀取配置文件的方式小結(jié)

    這篇文章主要為大家詳細(xì)介紹了C/C++中讀取配置文件的幾種常見方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 簡單講解哈希表

    簡單講解哈希表

    本文主要介紹了哈希表簡單知識及C語言實(shí)現(xiàn)哈希表實(shí)例,文中利用圖片以及代碼簡單講解了相關(guān)知識,感興趣的小伙伴可以多多學(xué)習(xí)這篇文章
    2021-09-09
  • C++排序算法之插入排序

    C++排序算法之插入排序

    這篇文章主要為大家詳細(xì)介紹了C++排序算法之插入排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • OpenCV圖像算法實(shí)現(xiàn)圖像切分圖像合并示例

    OpenCV圖像算法實(shí)現(xiàn)圖像切分圖像合并示例

    這篇文章主要為大家介紹了python圖像算法OpenCV實(shí)現(xiàn)圖像切分圖像合并操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評論

栾城县| 怀化市| 龙川县| 小金县| 宁波市| 大足县| 化隆| 嘉黎县| 剑川县| 靖州| 阿拉善右旗| 页游| 沾化县| 新巴尔虎左旗| 海晏县| 建阳市| 洛川县| 柘荣县| 荆门市| 凤台县| 漳州市| 塔城市| 紫阳县| 永寿县| 巴南区| 府谷县| 望奎县| 永平县| 荣成市| 醴陵市| 灯塔市| 汾西县| 安宁市| 厦门市| 新河县| 龙江县| 盖州市| 济南市| 额敏县| 徐水县| 来凤县|