Реалізація списку
Необхідно реалізувати список види:
Технічний опис програми.
У програмі передбачена робота зі списком, що включає в себе:
Створення нового вписка;
Додавання елемента в список;
Виведення списку на дисплей;
Збереження даних списку в файл;
Читання даних з файлу;
Видалення списку з пам'яті комп'ютера;
Пошук елемента в списку;
Сортування списку;
Видалення елемента списку.
Специфікація програми.
Введення даних в програму може здійснюватися двома способами: введення з клавіатури
або з файлу.
Для роботи з файлом необхідно на відповідний запит програми ввести ім'я
файлу, з якого будуть взяті дані для побудови списку.
Для нормальної роботи програми потрібно PC сумісний комп'ютер і компілятор
Borland 3.01 і вище. При використання іншого поєднуючи характеристик системи на
якої буде тестуватися програма можливі деякі розбіжності з
результатами тесту, але в основному нічого страшного статися не повинно.
Текст програми.
# include
# include
class List
(struct Tree
(int Body;
Tree * LP;
Tree * RP;
Tree (int Bdy = 0) (Body = Bdy; LP = NULL; RP = NULL;)
~ Tree () (Body = 0; LP = NULL; RP = NULL;)
);
public:
List (int Digit = 0);
Tree * Root;
List * LNext;
List * LPrev;
);
List:: List (int Digit)
(Root = NULL;
for (int i = Digit * 10; i
(Tree * PTree;
PTree = new Tree (i);
PTree-> LP = NULL;
PTree-> RP = NULL;
if (Root == NULL)
Root = PTree;
else
(Tree * PTree1 = Root;
do
(if (PTree1-> LP! = NULL)
PTree1 = PTree1-> LP;)
while (PTree1-> LP! = NULL);
PTree1-> LP = PTree;
PTree = NULL; PTree1 = NULL;
)
)
)
class TreeWork: private List
(public:
void TreeWorkStart ();
private:
int ElementQuantity;
int Mass;
int i;
List * BegP;
List * PList;
int MainMenu ();
int Work (int Task);
int MakeNewList ();
int AddElements ();
int PrintList ();
void EraseList ();
int DeleteElement ();
int FindElement ();
int SubMenu ();
int SubWork (int Task);
int SortByIncrease ();
int SortByDecrease ();
int SaveList ();
int OpenList ();
protected:
void GoThroughTree (Tree * L);
void Erase (Tree * L);
);
int TreeWork:: MainMenu ()
(cout