Как удалить одинаковые элементы из списка?
В общем случае сортируете, проходите по списку и удаляете рядом стоящие одинаковые элементы.
Но может надо решать проблему более кардинальным образом - вместо list использовать более подходящий контейнер - set? В set элементы уже отсортированы и уникальны.
Создаешь коллекцию гарантирующую уникальность и добавляешь в нее все значения из списка. Получаем коллекцию уникальных элементов. Если тебе на выходе нужен список - очищаешь старый или создаешь новый, после чего в него добавляешь все уникальные элементы из созданной тобой коллекции. 
По времени работы выйдет O(n * (n - a)), где N - количество элементов в списке, а - количество дубликатов. Ну если уж очень грубо, то O(n^2).