Хранение слова в связанном списке и генерация его анаграмм на языке C++
У меня были некоторые трудности с пониманием связанного списка. Я пытался попытаться задать вопрос об анаграмме, в соответствии с которой вопрос просит: сохраните слова в связанном списке и сгенерируйте другую анаграммуs оттуда.
Я понимаю, что мне нужно произвести перестановки слова. Однако как сохранить каждое слово в связанном списке? Мое понимание связанного списка довольно слабо. Вот как я примерно себе это представляю:
Что я уже пробовал:
Я сохраняю каждую букву в слове в каждом узле односвязного списка. Затем мне нужно переставить узлы по-разному в соответствии с перестановкой. Например, автомобиль. В первом узле хранится C, во втором-A, а в третьем-R. Теперь как я могу проинструктировать узлы расположиться шестью (3!) различными способами и вывести результаты (анаграммы) ?
Верен ли мой мыслительный процесс? Пожалуйста, потерпите меня, поскольку я пытаюсь понять эту концепцию, а также ее кодирующую часть.