список двонаправлений
У цій статті я опишу методику роботи з двонаправленим списком в класичному його варіанті. Введення списку, висновок і сортування по природному розмаїттю та полях елементів списку. Не буду вдаватися в теорію списків - перейду до опису того, що необхідно зробити для вирішення даного завдання, і по ходу справи опишу чому саме так я організував роботу.
Від адміністратора сайту
Для побудови списку нам знадобляться дві структури: Одна - поля елемента списку. Друга - сам елемент списку з якорями, які будуть зв'язувати елементи між собою.
Перша структура може виглядати так:
Вона виконує 4 умови:
- Якщо asc - по зростанню, і сортируемое поле - х:
- Якщо desc - за спаданням, і поле той же
- Якщо asc - по зростанню, але сортується друге поле, строкове
- Якщо desc - по спадаючій з строковим полем
У кожному з умов відповідно проводиться порівняння «більше» або «менше» в залежності від заданих параметрів сортування. Таким чином ця функція відповідає процедурі сортування, як їй чинити з елементами. В цілому це і є весь алгоритм сортування двонаправленого списку.
Збираємо описане вище в одну програму і дописуємо функцію main ():
Сортування двонаправленого списку в С ++