Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using std::cin;
- using std::cout;
- using std::vector;
- struct Node {
- int data;
- Node *next;
- };
- Node* create(int _data) {
- Node *t = new Node();
- t->data = _data;
- t->next = nullptr;
- return t;
- }
- void add_back(Node *&root, Node *added) {
- root->next = added;
- }
- #include "func.h"
- int main() {
- int n; cin >> n;
- vector<Node*> data(n);
- for(int i = 0; i < n; ++i) {
- data[i] = create(0);
- }
- // Ввод работает таким образом: для каждоый вершины i вводится номер вершины, в которую она следует
- // Если у вершины нет следующего элемента, то k == 0
- for(int i = 0; i < n; ++i) {
- int k; cin >> k;
- if (k)
- data[i]->next = data[k-1];
- }
- cycle(data[0]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement