public Event(Event e) { this.etype = e.etype; //this.Key = e.Key; this.time = e.time; this.stream_number = e.stream_number; }
public Event GetEvent() { if (ListSize == 0) { return null; } else { Event er = new Event(data[0]); data.RemoveAt(0); return er; } }
public void Insert(Event n) { HeapSize++; data.Add(n); int Index = HeapSize - 1; while (Index > 0) { if (n.time < data[Index / 2].time) { Swap(Index, Index / 2); } else break; Index = Index / 2; } }
public Event GetEvent() { if (HeapSize==0) { return null; } else { Event er = new Event(data[0]); data.RemoveAt(0); HeapSize--; if (HeapSize != 0) MoveDownHeap(0); return er; } }
public void MatlabHeap() { int a; int m=1000; int n=1000; int b=1000; string danet = ""; DateTime sh, eh; for (a = 10; a <= 1000; a ++) { sh = DateTime.Now; Heap heapt = new Heap(); for (int x = 0; x < a; x++) { Event e1 = new Event(); e1.time = randomNumber.Next(1, m); // dodawanie a elementów do listy heapt.Insert(e1); } for (int x = 0; x < b; x++) { heapt.DeleteMax(); // usuwanie elementów ze stogu Event e2 = new Event(); e2.time = randomNumber.Next(1, n); heapt.Insert(e2); // dodawanie nowego elementu do listy } eh = DateTime.Now; // zakończenie testu dla listy time_h = eh - sh; // obliczenie czasu wykonywania operacji na liście danet += (time_h.TotalMilliseconds.ToString() + ";"); } System.IO.File.WriteAllText(@"E:\MatlabStog.txt", danet); }
public void InsertEvent(EventType typ, double time, int stream_number) { Event E = new Event(typ, time, stream_number); Insert(E); }
public void Insert(Event e) { ListSize++; data.Add(e); if (ListSize >1) QuickSort(data, 0, ListSize - 1); }
public void MatlabList() { int a; int m=1000; int n=1000; int b=1000; string danet=""; DateTime sl, el; for(a=10;a<=1000; a++) { sl = DateTime.Now; MList listt = new MList(); for (int x = 0; x < a; x++) { Event e1 = new Event(); e1.time = randomNumber.Next(1, m); // dodawanie a elementów do listy listt.Insert(e1); } for (int x = 0; x < b; x++) { listt.DeleteMax(); // usuwanie elementów ze stogu Event e2 = new Event(); e2.time = randomNumber.Next(1, n); listt.Insert(e2); // dodawanie nowego elementu do listy } el = DateTime.Now; // zakończenie testu dla listy time_l = el - sl; // obliczenie czasu wykonywania operacji na liście danet+=(time_l.TotalMilliseconds.ToString()+";"); } System.IO.File.WriteAllText(@"E:\Matlablista.txt",danet); }
public void Start() { Settings(); DateTime sl, el, sh, eh; /*sl - czas rozpoczęcia testu dla listy *el - czas zakoczenia testu dla listy *sh - czas rozpoczecia testu dla stogu *eh - czas zakoczenia testu dla stogu */ sl = DateTime.Now; // rozpoczęcie testu listy MList list = new MList(); // inicjalizacja listy for (int i = 0; i < a; i++) { Event e1 = new Event(); e1.time = randomNumber.Next(1, m); // dodawanie a elementów do listy list.Insert(e1); } for (int i = 0; i < b; i++) { list.DeleteMax(); // usuwanie b elemetów z listy Event e2 = new Event(); e2.time = randomNumber.Next(1, n); list.Insert(e2); // dodawanie nowego elementu do listy } el = DateTime.Now; // zakończenie testu dla listy time_l = el - sl; // obliczenie czasu wykonywania operacji na liście sh = DateTime.Now; // rozpoczęcie testu dla stogu Heap heap = new Heap(); // inicjalizacja stogu for (int i = 0; i < a; i++) { Event e1 = new Event(); e1.time = randomNumber.Next(1, m); //dodawanie elementów do stogu heap.Insert(e1); } for (int i = 0; i < b; i++) { heap.DeleteMax(); // usuwanie elementów ze stogu Event e3 = new Event(); e3.time = randomNumber.Next(1, n); heap.Insert(e3); // dodawnie nowego elemetu do stogu } eh = DateTime.Now; // zakończenie testu dla stogu time_h = eh - sh; // obliczenie czasu wykonywania operacji na stogu Console.WriteLine("Czas wykonanego testu dla listy uporządkowanej:" + time_l.TotalMilliseconds.ToString() + " ms"); Console.WriteLine("Czas wykonanego testu dla stogu:" + time_h.TotalMilliseconds.ToString() + " ms"); Console.ReadLine(); }