Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Подключить list:
- #inlcude <stdstructs/list.h>
- Создание списка с первым элементом:
- some_type *var = allocate(sizeof(some_type));
- *var = ЗНАЧЕНИЕ;
- list list_name = make_list(var);
- Добавление элемента в список
- some_type *var = allocate(sizeof(some_type));
- *var = ЗНАЧЕНИЕ;
- // Выбрать одно из двух по надобности:
- list_insert_next(list_name, var); // Вставить на позицию next текущего элемента
- list_insert_prev(list_name, var); // Вставить на позицию prev текущего элемента
- Навигация по списку:
- list_name->next следующий элемент или null при его отсутствии
- list_name->prev предыдущий элемент или null при его отсутствии
- list_nextmost(list_name) next до конца
- list_prevmost(list_name) prev до конца
- list_at(list_name, index) index-ый элемент, считая от текущего
- list_abs_at(list_name, index) index-ый элемент, считая от prevmost
- list_len длина списка, считая от текущего элемента
- list_abs_len длина списка, считая от prevmost
- Запись вида
- list_name = list_name->next;
- Говорит: теперь текущим элементом будет следующий
- Удаление элемента из списка:
- list_pop(list_name) удаляет текущий элемент из списка
- Правильнее писать при удалении:
- deallocate(list_name->elem, sizeof(some_type));
- list_name = list_name->next;
- list_pop(list_name->prev);
- Вроде всё
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement