Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Funktio antaa taulukon, jossa peräkkäiset samat elementit on poistettu
- /// </summary>
- /// <typeparam name="T">Alkioiden tyyppi. Toteuttavat IEquatablen.</typeparam>
- /// <param name="array">Taulukon alkiot.</param>
- /// <returns>Perättäiset samat alkiot poistettu.</returns>
- /// <example>
- /// <pre name="test">
- /// Program.Destutter<int>(new int[] {1,2,3}) === [1,2,3];
- /// Program.Destutter<int>(new int[] {1,1,1}) === [1];
- /// Program.Destutter<int>(new int[] {1,1,2,3,3,3,3,2,1}) === [1,2,3,2,1];
- /// </pre>
- /// </example>
- public static T[] Destutter<T>(T[] array) where T : IEquatable<T>
- {
- List<T> destuttered = new List<T>();
- if (array.Length < 1) return destuttered.ToArray();
- destuttered.Add(array[0]);
- for (int i = 1; i < array.Length; i++)
- {
- if (array[i].Equals(destuttered[destuttered.Count-1])) continue;
- destuttered.Add(array[i]);
- }
- return destuttered.ToArray();
- }
Add Comment
Please, Sign In to add comment