// Pozosta³e elementy nie zmieniaj¹ kolejnoœci public bool Remove(int v) { if (head == null) { return(false); } Elem pp = null, p = head; while (p != null) { if (p.key == v) { break; } pp = p; p = p.next; } if (p == null) { return(false); } if (pp == null) { head = p.next; } else if (p.next == null) { pp.next = null; tail = pp; } else { pp.next = p.next; } return(true); // zmieniæ }
public Elem(int k, Elem n = null) { key = k; next = n; }
private static int CountElement(Elem[] el, int begin, int end, Elem element) { return(-1); }
// zwraca dominujacy element (gdy takiego nie ma zwraca null) // w parametrze max ustawia liczbe wystapien dominujacego elementu (gdy takiego nie ma ustawia 0) // wymagana zlozonosc o(n*log(n)) static public Elem FindWinnerFast(Elem[] el, out int max) { Elem t = FindWinnerRec(el, out max, 0, el.Length - 1); return(t); }
public Elem(int v, Elem n = null) { Val = v; Next = n; }
public static string Description(this Elem e) { return(e == null ? "brak" : string.Format("{0,4}", e.ToString())); }
public bool Compare(Elem e) { ++CompareCount; return(value == e.value); }