Я пытаюсь создать ADT.Создание набора ADT в C
Это динамический набор конечных элементов. Он должен быть реализован с использованием массивов и связанных списков.
Некоторые операции включают add(set, x)
и remove(set, x)
.
Я понимаю, что сначала мне нужно создать интерфейс, который будет общим как для реализации массива, так и для реализации связанного списка.
Тем не менее, я не уверен относительно структуры этого типа данных. Что я должен включить?
struct test {
int x;
char y;
};
Нечто подобное? Или предположим, что я делаю набор эксклюзивным для целых чисел, какова будет структура данных?
Справка была бы принята с благодарностью. Благодаря!
Нужна дополнительная информация. Вы думаете о конечном множестве в математическом смысле (где допускаются повторяющиеся элементы) или 'set()' как в Python/Java/и т. Д. (только имеет уникальные элементы)? Вы пытаетесь выбрать структуру данных для оптимизации операций 'add()' и 'remove()' или, возможно, других, таких как 'union()' или 'intersect()'? Почему массивы * и * связаны списки? У вас есть много структур данных на выбор, почему «нужно» это реализовать с ними? – Keeler
Я думаю в математическом смысле. В принципе, все, что мне нужно сделать, это добавить или удалить элемент, а затем попробовать такие функции, как check_if_element_is_present(), union(), intersection(), cardinality() ... –
В принципе, мне нужно создать динамический набор ADT и реализовать его с помощью массивов и связанных списков, но я смущен и не уверен, с чего начать, действительно. –