Guest User

Untitled

a guest
Dec 12th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.02 KB | None | 0 0
  1.     /// <summary>
  2.     /// Funktio antaa taulukon, jossa peräkkäiset samat elementit on poistettu
  3.     /// </summary>
  4.     /// <typeparam name="T">Alkioiden tyyppi. Toteuttavat IEquatablen.</typeparam>
  5.     /// <param name="array">Taulukon alkiot.</param>
  6.     /// <returns>Perättäiset samat alkiot poistettu.</returns>
  7.     /// <example>
  8.     /// <pre name="test">
  9.     /// Program.Destutter<int>(new int[] {1,2,3}) === [1,2,3];
  10.     /// Program.Destutter<int>(new int[] {1,1,1}) === [1];
  11.     /// Program.Destutter<int>(new int[] {1,1,2,3,3,3,3,2,1}) === [1,2,3,2,1];
  12.     /// </pre>
  13.     /// </example>
  14.     public static T[] Destutter<T>(T[] array) where T : IEquatable<T>
  15.     {
  16.         List<T> destuttered = new List<T>();
  17.         if (array.Length < 1) return destuttered.ToArray();
  18.         destuttered.Add(array[0]);
  19.         for (int i = 1; i < array.Length; i++)
  20.         {
  21.             if (array[i].Equals(destuttered[destuttered.Count-1])) continue;
  22.             destuttered.Add(array[i]);
  23.         }
  24.         return destuttered.ToArray();
  25.     }
Add Comment
Please, Sign In to add comment