Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. class Node {
  2. constructor(parent, id) {
  3. this.id = id;
  4. this.child = [];
  5. this.parent = parent;
  6. }
  7.  
  8. setChild(child) {
  9. this.child.push(child);
  10. }
  11. }
  12.  
  13. let tree = [];
  14.  
  15. const generateTree = (nodes, levels, _cLevel, _id, _cNode) => {
  16. if (_cLevel >= levels) return;
  17. if (_cLevel == null) (_cLevel = 0), (_id = 1);
  18. let _tNode;
  19. var _created = [];
  20. if (_cLevel == 0) {
  21. _cNode = new Node(null, _id);
  22. tree.push(_cNode);
  23. _created.push(_cNode);
  24. _tNode = _cNode;
  25. } else {
  26. const children = Math.floor(Math.random() * (nodes - 0)) + 0;
  27. let i = 0;
  28. while (i <= children) {
  29. _id++;
  30. _tNode = new Node(_cNode.id, _id);
  31. _cNode.setChild(_tNode.id);
  32. tree.push(_tNode);
  33. _created.push(_tNode);
  34. i++;
  35. }
  36. }
  37. _cLevel++;
  38. _created.forEach(element => {
  39. generateTree(nodes, levels, _cLevel, tree.length, element);
  40. });
  41. };
  42.  
  43. generateTree(3, 4);
  44.  
  45. console.log(tree);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement