Guest User

Untitled

a guest
Mar 24th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #include <iostream>
  2. #include<stdlib.h>
  3. #include<stdio.h>
  4. #include<string.h>
  5. #include<vector>
  6. #define MAXNEIGH 6
  7. using namespace std;
  8.  
  9. struct Entry;
  10. struct Table;
  11.  
  12. typedef struct Node Node;
  13. struct Node {
  14. char name;
  15. Entry *neighbours[MAXNEIGH];
  16. int portNo;
  17. Table *DVtable;
  18. };
  19.  
  20.  
  21. typedef struct Entry Entry;
  22. struct Entry {
  23. Node* source;
  24. Node *dest;
  25. int cost;
  26. };
  27.  
  28. typedef struct Table Table;
  29. struct Table {
  30. Node* source;
  31. Entry* table[MAXNEIGH];
  32. };
  33.  
  34.  
  35. Node *createNode(char name, int portNum, Entry* neigh[6]) {
  36. Node *newNode = new Node;
  37. newNode->name = name;
  38. newNode->portNo = portNum;
  39. for (int i = 0; i < MAXNEIGH; i++) {
  40. newNode->neighbours[i]->source = newNode;
  41. if (neigh[i] == NULL) {
  42. newNode->neighbours[i]->cost = -1;
  43. newNode->neighbours[i]->dest = NULL;
  44. }
  45. newNode->neighbours[i]->cost = neigh[i]->cost;
  46. newNode->neighbours[i]->dest = neigh[i]->dest;
  47. }
  48. newNode->DVtable->source = newNode;
  49. for (int j = 0; j < 6; j++) {
  50. newNode->DVtable->table[j]->source = newNode;
  51. if (neigh[j] == NULL) {
  52. newNode->DVtable->table[j]->dest = NULL;
  53. newNode->DVtable->table[j]->cost = -1;
  54. }
  55. newNode->DVtable->table[j]->dest = neigh[j]->dest;
  56. newNode->DVtable->table[j]->cost = neigh[j]->cost;
  57. }
  58.  
  59. return newNode;
  60. }
  61.  
  62. Node *B = new Node;
  63. Node *E = new Node;
  64.  
  65. Entry *entry1 = new Entry;
  66. Entry *entry2 = new Entry;
  67.  
  68. entry1->source = NULL;
  69. entry1->dest = B;
  70. entry1->cost = 3;
  71. entry2->source = NULL;
  72. entry2->dest = E;
  73. entry2->cost = 1;
  74.  
  75. Entry *neighList[] = { entry1, entry2, NULL, NULL, NULL, NULL };
  76.  
  77. char a = 'A';
  78. Node *A = createNode(a, 10000, neighList);
  79.  
  80. for (int i = 0;i < 6;i++) {
  81. cout << "Destination: " << A->DVtable->table[i]->dest << "tt";
  82. cout << "Cost: " << A->DVtable->table[i]->cost << "n";
  83. }
Add Comment
Please, Sign In to add comment