Code:
struct ListNode
{
ListNode(int value);
int value;
ListNode* next;
};
ListNode::ListNode(int value): value(value), next(nullptr) {}
public class queue
{
public:
queue();
~queue();
bool Empty() const;
int Next() const;
void Enqueue(int value);
void Dequeue();
void DisplayAll() const;
int getP() const;
private:
// Disable copying to keep the example simple
queue(queue const& obj);
ListNode* head;
ListNode* tail;
gcroot<String^> name; // Added this
};
queue::queue():head(nullptr), tail(nullptr) {}
queue::~queue()
{
while (head != nullptr)
{
Dequeue();
}
}
bool queue::Empty() const
{
return head == nullptr;
}
int queue::Next() const
{
return head->value;
}
void queue::Enqueue(int value)
{
if (head == nullptr)
{
head = tail = new ListNode(value);
}
else
{
tail->next = new ListNode(value);
tail = tail->next;
}
}
void queue::Dequeue()
{
ListNode* temp = head->next;
delete head;
head = temp;
}
void queue::DisplayAll() const
{
for (ListNode* p = head; p; p = p->next)
{
Console::WriteLine("the element is {0}", p->value);
}
}
Code:
no=noofmsg-1;
if(Analysis[no].prio==1)
cat1->Enqueue(no);
else if(Analysis[no].prio==2)
cat2->Enqueue(no);
else if(Analysis[no].prio==3)
cat3->Enqueue(no);
while(!(cat1->Empty()))
{
p= cat1->Next();
TimDep= currtime+expntl();
// slist->Add(TimDep,"D");
Analysis[p].TEsf=TimDep;
Console::WriteLine(" the value at is Analysis{0} is {1}", p, Analysis[p].TEsf );
/*avg1= Analysis[p].TEsf-Analysis[p].TEa;
Console::WriteLine(" The priority 1 messages has a waiting time of {0} ", avg1 );*/
cat1->Dequeue();
}
if(cat1->Empty())
{
while(!(cat2->Empty()))
{
p= cat2->Next();
TimDep= currtime+expntl();
//slist->Add(TimDep,"D");
Analysis[p].TEsf=TimDep;
//Console::WriteLine(" the value at is Analysis{0} is {1}", p, Analysis[p].TEsf );
cat2->Dequeue();
}
}
if((cat1->Empty())&&(cat2->Empty()))
{
while(!(cat3->Empty()))
{
p= cat3->Next();
TimDep= currtime+expntl();
//slist->Add(TimDep,"D");
Analysis[p].TEsf=TimDep;
//Console::WriteLine(" the value at is Analysis{0} is {1}", p, Analysis[p].TEsf );
cat3->Dequeue();
}
}
