Advertisement
Zlajaa7

prioritetniRed->povezana

Nov 16th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. typedef int Tip;
  5. struct Cvor {
  6. Tip info;
  7. Cvor* next;
  8. public:
  9. Cvor(Cvor* n, Tip i) :next(n), info(i) {};
  10. };
  11.  
  12. struct PrioritetniRedPovezani {
  13. Cvor *najveci;
  14. public:
  15. PrioritetniRedPovezani() :najveci(nullptr) {};
  16. void Remove() {
  17. if (najveci == nullptr) { cout << "Greska. Nema elemenata u nizu !" << endl; return; }
  18. Cvor* t = najveci;
  19. najveci = najveci->next;
  20. delete t;
  21. }
  22. void AddNew(Tip info) {
  23. if (najveci == nullptr) {
  24. Cvor *novi = new Cvor(najveci, info);
  25. najveci = novi;
  26. return;
  27. }
  28. if (info > najveci->info) {
  29. Cvor * novi = new Cvor(najveci, info);
  30. najveci = novi;
  31. return;
  32. }
  33. else {
  34. Cvor * temp = najveci; Cvor * pomak = nullptr;
  35. while (temp->info > info && temp != nullptr) {
  36. pomak = temp;
  37. temp = temp->next;
  38. if (temp == nullptr)
  39. break;
  40. }
  41. Cvor * n = new Cvor(temp, info);
  42. pomak->next = n;
  43. }
  44. }
  45. void Print() {
  46. if (najveci == nullptr) { cout << "Nema elemenata. " << endl; return; }
  47. Cvor* t = najveci;
  48. while (t != nullptr) {
  49. cout << t->info << ", ";
  50. t = t->next;
  51. }
  52.  
  53. }
  54. };
  55.  
  56. void main() {
  57. PrioritetniRedPovezani moj;
  58. moj.AddNew(1);
  59. moj.AddNew(32);
  60. moj.AddNew(0);
  61. moj.AddNew(3252);
  62. /*moj.Remove();
  63. moj.Remove();
  64. moj.Remove();
  65. moj.Remove();
  66. moj.Remove()*/
  67. moj.Print();
  68.  
  69.  
  70.  
  71. system("Pause>0");
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement