public static NewCustomList <T> Sort <T>(NewCustomList <T> list) where T : IComparable { bool didSwap = false; for (int i = 0; i < list.Count - 2; i++) { for (int j = list.count - 1; j >= 1; j--) { if (list[j].CompareTo(list[j - 1]) < 0) { didSwap = true; T temp = list[j]; list[j] = list[j - 1]; list[j - 1] = temp; } } } if (didSwap) { return(NewCustomList <T> .Sort(list)); } else { return(list); } }
public static NewCustomList <T> Zip(NewCustomList <T> list1, NewCustomList <T> list2) { NewCustomList <T> newlist = new NewCustomList <T>(); int Count = list1.Count < list2.Count ? list1.Count : list2.Count; for (int i = 0; i < Count; i++) { newlist.Add(list1[i]); newlist.Add(list2[i]); } return(newlist); }
static void Main(string[] args) { NewCustomList <int> list = new NewCustomList <int>(); list.Add(2); list.Add(5); list.Add(3); foreach (int x in list) { Console.WriteLine(x); } }
public static NewCustomList <T> operator -(NewCustomList <T> list1, NewCustomList <T> list2) { NewCustomList <T> newlist = new NewCustomList <T>(); foreach (T item in list1) { newlist.Add(item); } foreach (T item in list2) { newlist.Remove(item); } return(newlist); }