Создать списки, в информационном поле которых содержится указатель на следующее слово - C (СИ)
Формулировка задачи:
Есть четыре слова: "Утро" "Вечер" "Окунь" "Рыба". Нужно создать списки, в информационном поле которых содержится указатель на следующее слово. Причем последняя буква каждого слова должна совпадать с первой буквой следующего. Т.е. "Утро" и "Окунь" должны быть в одном списке, а "Вечер" и "Рыба" - в другом. Нужна ли тут структура в структуре?
Или достаточно:
Как лучше реализовать такую задачу?
struct Lists
{
struct Lists *Wordlist; //указатель на список слов
struct Lists *next; //указатель на следующий список слов
};
struct Wordlist
{
char Word[20];
struct Worldlist *next;
};struct Wordlist
{
char Word[20]; //под слово
struct Worldlist *next; //указатель на следующее слово
};Решение задачи: «Создать списки, в информационном поле которых содержится указатель на следующее слово»
textual
Листинг программы
#ifndef LIST_H
#define LIST_H 1
typedef struct NODE {
void * data;
struct NODE * next;
} node_t;
extern node_t * new_node(void * data);
extern node_t * del_node(node_t * node);
typedef struct LIST {
node_t * first;
node_t * last;
} list_t;
extern list_t * new_list(void);
extern int push_data(list_t * list, void * data);
extern void for_each(list_t * list, void (*func)(void *));
extern void del_list(list_t * list);
#endif /* LIST_H */
Объяснение кода листинга программы
- Создание нового узла с данными и следующим узлом
- Удаление узла из списка
- Объявление структуры списка
- Создание нового списка
- Добавление данных в список
- Обход каждого элемента списка с помощью функции
- Удаление списка