五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++ 帶有入度和路徑權(quán)值的領(lǐng)接表的建立

2023-06-24 20:33 作者:bili_69278239799  | 我要投稿

//輸入?yún)?shù)?

//a b c d e q 空格

//ab5 ae4 ac3 bc2 cd8 ce6 de10 q 空格

#include <cstddef>

#include <iostream>

#include <sstream>

#include <string>

#include <array>

#include <memory>

#include <map>


using namespace std;

union VexItem

{

? ? char value_;

? ? int index_;

};


class Vex

{

public:

? ? Vex(Vex&&) = default;

? ? Vex& operator =(Vex&&) = default;

? ? Vex() = default;

? ? explicit Vex(char ch, int cost = 0)

? ? : cost_(cost)

? ? , rudu_(0)

? ? , next_(nullptr)

? ? {

? ? ? ? vex_item_.value_ = ch;

? ? ? ? //cout << "init vex_item_.value_: " << vex_item_.value_ << endl;

? ? }


? ? explicit Vex(int index, int cost = 0)

? ? : cost_(cost)

? ? , rudu_(0)

? ? , next_(nullptr)

? ? {

? ? ? ? vex_item_.index_ = index;

? ? ? ? //cout << "init vex_item_.index_: " << vex_item_.index_ << endl;

? ? }


? ? VexItem vex_item_;

? ? int cost_;

? ? int rudu_;

? ? shared_ptr<Vex> next_;

};


int main() {

? ? constexpr int input_len{2 + 10};

? ? constexpr auto vex_len{100};

? ? int vex_count{0};

? ? array<Vex, vex_len> vex;

? ? map<char, int> vex_index;

? ? auto string2num = [](const char* str)

? ? {

? ? ? ? int cost{0};

? ? ? ? stringstream ss;

? ? ? ? ss << str;

? ? ? ? ss >> cost;

? ? ? ? return cost;

? ? };


? ? for(int i = 0 ;; ++i)

? ? {

? ? ? ? array<char, input_len> input;

? ? ? ? cout << "input vex point" << endl;

? ? ? ? cin.getline(input.data(), input_len, ' ');

? ? ? ? //cout << "you input vex point:" << input.data() << endl;


? ? ? ? if(input[0] == 'q')

? ? ? ? ? ? break;

? ? ? ?

? ? ? ? vex[i] = Vex(input[0]);

? ? ? ? vex_index[input[0]] = i;

? ? ? ? vex_count++;

? ? ? ? //cout << input[0] << " map to " << i << endl;

? ? }


? ? cin.ignore(std::numeric_limits< streamsize >::max(), '\n');

? ? do

? ? {

? ? ? ? array<char, input_len> input;

? ? ? ? cout << "input vex pair and cost" << endl;

? ? ? ?

? ? ? ? cin.getline(input.data(), input_len, ' ');

? ? ? ? //cout << "you input vex pair and cost:" << input.data() << endl;


? ? ? ? if(input[0] == 'q')

? ? ? ? ? ? break;

? ? ? ?

? ? ? ? cout << input[0] << "}}" << input[1] << endl;

? ? ? ? auto from_index = vex_index[input[0]];

? ? ? ? auto to_idnex = vex_index[input[1]];

? ? ? ? auto tmp = make_shared<Vex>(to_idnex, string2num(input.data() + 2));

? ? ? ?

? ? ? ? tmp->next_ = vex[from_index].next_;

? ? ? ? vex[from_index].next_ = tmp;

? ? ? ? vex[to_idnex].rudu_++;

? ? ? ?

? ? }while(true);

? ? //a b c d e q

? ? //ab5 ae4 ac3 bc2 cd8 ce6 de10 q

? ? for(int i = 0; i < vex_count; i++)

? ? {

? ? ? ? auto& item = vex[i];

? ? ? ? if(item.vex_item_.value_ == '\0' && item.vex_item_.index_ == 0)

? ? ? ? ? ? break;

? ? ? ? auto ptr = item.next_;

? ? ? ? cout << "vex :" << item.vex_item_.value_ << ", rudu:" << item.rudu_ << endl;

? ? ? ? if(ptr == nullptr)

? ? ? ? {

? ? ? ? ? ? cout << "end vex:" << item.vex_item_.value_ << endl;

? ? ? ? }


? ? ? ? for(; ptr != nullptr; ptr = ptr->next_)

? ? ? ? {

? ? ? ? ? ? cout << item.vex_item_.value_ << "-" << ptr->cost_ << "->" << vex[ptr->vex_item_.index_].vex_item_.value_ << " ?";

? ? ? ? }

? ? ? ? cout << endl;

? ? }


? ? return 1;

}



C++ 帶有入度和路徑權(quán)值的領(lǐng)接表的建立的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
麻栗坡县| 个旧市| 巴青县| 江北区| 保德县| 渑池县| 昂仁县| 麻阳| 太仓市| 鄂温| 水富县| 垣曲县| 兰州市| 普洱| 清新县| 如东县| 沭阳县| 吉安市| 莱芜市| 视频| 驻马店市| 右玉县| 钟山县| 阿鲁科尔沁旗| 丽水市| 苏尼特左旗| 耿马| 邵阳县| 乌鲁木齐市| 临高县| 通州区| 东山县| 缙云县| 如皋市| 北票市| 宁南县| 桐庐县| 华池县| 宝坻区| 池州市| 清水县|