Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- typedef int Tip;
- struct Cvor {
- Tip info;
- Cvor* next;
- public:
- Cvor(Cvor* n, Tip i) :next(n), info(i) {};
- };
- struct PrioritetniRedPovezani {
- Cvor *najveci;
- public:
- PrioritetniRedPovezani() :najveci(nullptr) {};
- void Remove() {
- if (najveci == nullptr) { cout << "Greska. Nema elemenata u nizu !" << endl; return; }
- Cvor* t = najveci;
- najveci = najveci->next;
- delete t;
- }
- void AddNew(Tip info) {
- if (najveci == nullptr) {
- Cvor *novi = new Cvor(najveci, info);
- najveci = novi;
- return;
- }
- if (info > najveci->info) {
- Cvor * novi = new Cvor(najveci, info);
- najveci = novi;
- return;
- }
- else {
- Cvor * temp = najveci; Cvor * pomak = nullptr;
- while (temp->info > info && temp != nullptr) {
- pomak = temp;
- temp = temp->next;
- if (temp == nullptr)
- break;
- }
- Cvor * n = new Cvor(temp, info);
- pomak->next = n;
- }
- }
- void Print() {
- if (najveci == nullptr) { cout << "Nema elemenata. " << endl; return; }
- Cvor* t = najveci;
- while (t != nullptr) {
- cout << t->info << ", ";
- t = t->next;
- }
- }
- };
- void main() {
- PrioritetniRedPovezani moj;
- moj.AddNew(1);
- moj.AddNew(32);
- moj.AddNew(0);
- moj.AddNew(3252);
- /*moj.Remove();
- moj.Remove();
- moj.Remove();
- moj.Remove();
- moj.Remove()*/
- moj.Print();
- system("Pause>0");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement