1. Напишете функция (different? l), която проверява дали списъкът l се състои от различни елементи
  2. Напишете функция (removeDupl l), която връща списък, който съдържа всички елементи на l, но само по един път, т.е. премахва евентуалните повторения
  3. Напишете функции intersect, union, difference, която намира сечение и обединение и разлика на две множества, представени като списъци, в които няма повтарящи се елементи
  4. Напишете функция (ordered? l), която проверява дали елементите на даден списък са подредени в нарастващ ред
  5. Напишете функция (insert x l), която вмъква числото x в списъка от числа l, който е подреден в нарастващ ред.
  6. Напишете функция (insertSort l), която сортира списъка по метода на вмъкването (сортира опашката и вмъква главата на подходящо място)
  7. Напишете функция (reverse l), която обръща списъка l. Напишете рекурсивен и итеративен вариант на това решение. Кой е по-бърз?
  8. Напишете функция от по-висок ред (filter pred? l), която връща списък от елементите на l, които удовлетворяват свойството pred?
  9. Напишете функция (quicksort l), която сортира списъка l по метода на бързото сортиране, т.е. разделя списъка на две части - елементи по-малки и съответно по-големи от първия елемент, след което ги сортира и слепва.
Последно модифициране: събота, 12 ноември 2011, 17:38