opcenito u stablo.h.公司

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opcenito u stablo.h.公司相关的知识,希望对你有一定的参考价值。

Implementacija općenitog stabla pomoću polja.
  1. struct elem{
  2. char label;
  3. int firstC, nextS;
  4. };
  5.  
  6. struct tr{
  7. elem elements[10000];
  8. int first;
  9. };
  10.  
  11. tr *InitT(int x, tr *T){
  12. T = new tr;
  13. for(int i=0; i<10000; i++){
  14. T->elements[i].label = '0';
  15. T->elements[i].firstC = -1;
  16. T->elements[i].nextS = -1;
  17. }
  18. T->elements[x].label = 'A';
  19. T->first = x;
  20. return T;
  21. }
  22.  
  23. int RootT(tr *T){
  24. return T->first;
  25. }
  26.  
  27. int ParentT(int n, tr *T){
  28. if(RootT(T) == n) return -1;
  29. for(int i=0; i<10000; i++){
  30. if(T->elements[i].firstC == n) return i;
  31. }
  32. }
  33.  
  34. int FirstChildT(int n, tr *T){
  35. return T->elements[n].firstC;
  36. }
  37.  
  38. int NextSiblingT(int n, tr *T){
  39. return T->elements[n].nextS;
  40. }
  41.  
  42. char LabelT(int n, tr *T){
  43. return T->elements[n].label;
  44. }
  45.  
  46. void ChangeLabelT(char x, int n, tr *T){
  47. T->elements[n].label = x;
  48. }
  49.  
  50. void CreateT(int x, int n, tr *T){
  51. if(LabelT(x, T) != '0'){
  52. cout << "Vrijednost vec postoji! ";
  53. return;
  54. }
  55. if(LabelT(n, T) == '0'){
  56. cout << "Cvor ne postoji! ";
  57. return;
  58. }
  59. if(FirstChildT(n, T) == -1) T->elements[n].firstC = x;
  60. else if(NextSiblingT(FirstChildT(n, T), T) == -1) T->elements[FirstChildT(n, T)].nextS = x;
  61. else{
  62. n = FirstChildT(n, T);
  63. while(NextSiblingT(n, T) != -1) n = NextSiblingT(n, T);
  64. T->elements[n].nextS = x;
  65. }
  66. T->elements[x].firstC = -1;
  67. T->elements[x].nextS = -1;
  68. T->elements[x].label = T->elements[n].label+1;
  69. }
  70.  
  71. void DeleteT(int n, tr *T){
  72. if(FirstChildT(n, T) != -1) DeleteT(FirstChildT(n, T), T);
  73. if(NextSiblingT(n, T) != -1) DeleteT(NextSiblingT(n, T), T);
  74. T->elements[n].label = '0';
  75. T->elements[n].firstC = -1;
  76. T->elements[n].nextS = -1;
  77. if(NextSiblingT(ParentT(n, T), T) != -1) T->elements[ParentT(n, T)].firstC = NextSiblingT(ParentT(n, T), T);
  78. else T->elements[ParentT(n, T)].firstC = -1;
  79. }

以上是关于opcenito u stablo.h.公司的主要内容,如果未能解决你的问题,请参考以下文章

u-boot移植---代码修改---支持DM9000网卡

金士顿U盘PS2251-07东芝闪存白片量产CDROM成功教程-群联量产教程-U盘量产网

ORA-00600: internal error code, arguments: [25027], [1], [0], [], [], [], [], [], [], [], [], [](代码片

ORA-00600: internal error code, arguments: [25027], [1], [0], [], [], [], [], [], [], [], [], [](代码片

Ubuntu 16.04 桌面一片空白怎么处理

验证坐标在某片坐标区域内 php 代码