Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<stdlib.h>
- #include<stdio.h>
- #include<string.h>
- #include<vector>
- #define MAXNEIGH 6
- using namespace std;
- struct Entry;
- struct Table;
- typedef struct Node Node;
- struct Node {
- char name;
- Entry *neighbours[MAXNEIGH];
- int portNo;
- Table *DVtable;
- };
- typedef struct Entry Entry;
- struct Entry {
- Node* source;
- Node *dest;
- int cost;
- };
- typedef struct Table Table;
- struct Table {
- Node* source;
- Entry* table[MAXNEIGH];
- };
- Node *createNode(char name, int portNum, Entry* neigh[6]) {
- Node *newNode = new Node;
- newNode->name = name;
- newNode->portNo = portNum;
- for (int i = 0; i < MAXNEIGH; i++) {
- newNode->neighbours[i]->source = newNode;
- if (neigh[i] == NULL) {
- newNode->neighbours[i]->cost = -1;
- newNode->neighbours[i]->dest = NULL;
- }
- newNode->neighbours[i]->cost = neigh[i]->cost;
- newNode->neighbours[i]->dest = neigh[i]->dest;
- }
- newNode->DVtable->source = newNode;
- for (int j = 0; j < 6; j++) {
- newNode->DVtable->table[j]->source = newNode;
- if (neigh[j] == NULL) {
- newNode->DVtable->table[j]->dest = NULL;
- newNode->DVtable->table[j]->cost = -1;
- }
- newNode->DVtable->table[j]->dest = neigh[j]->dest;
- newNode->DVtable->table[j]->cost = neigh[j]->cost;
- }
- return newNode;
- }
- Node *B = new Node;
- Node *E = new Node;
- Entry *entry1 = new Entry;
- Entry *entry2 = new Entry;
- entry1->source = NULL;
- entry1->dest = B;
- entry1->cost = 3;
- entry2->source = NULL;
- entry2->dest = E;
- entry2->cost = 1;
- Entry *neighList[] = { entry1, entry2, NULL, NULL, NULL, NULL };
- char a = 'A';
- Node *A = createNode(a, 10000, neighList);
- for (int i = 0;i < 6;i++) {
- cout << "Destination: " << A->DVtable->table[i]->dest << "tt";
- cout << "Cost: " << A->DVtable->table[i]->cost << "n";
- }
Add Comment
Please, Sign In to add comment