12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #pragma once
- #include "Circle.h"
- #include "Node.h"
- class List
- {
- Node Head; // ôèêòèâíûé ýëåìåíò, êîòîðûé ÿâëÿåòñÿ ïðèçíàêîì íà÷àëà ñïèñêà
- Node Tail; // ôèêòèâíûé ýëåìåíò, êîòîðûé ÿâëÿåòñÿ ïðèçíàêîì êîíöà ñïèñêà
- size_t m_size; //êîëè÷åñòâî ýëåìåíòîâ
- public:
- enum class TO { to_head, to_tail };
- List();
- List(const List&);
- List(List&&);
- ~List();
- void Ad_to(TO, const Circle&);//1) ìåòîä, êîòîðûé äîáàâëÿåò ýëåìåíò â íà÷àëî èëè â êîíåö ñïèñêà
- bool RemoveOne(const Circle&);//3) óäàëåíèå èç ñïèñêà ïåðâîãî ýëåìåíòà,
- //äàííîå êîòîðîãî ñîâïàäàåò ñî çíà÷åíèåì ïàðàìåòðà.
- //Åñëè ýëåìåíò íàéäåí è óäàëåí, ìåòîä âîçâðàùàåò true,
- //åñëè ýëåìåíòà ñ òàêèì çíà÷åíèåì â ñïèñêå íå áûëî – false
- int Remove_all_match(const Circle&);//4) óäàëåíèå èç ñïèñêà âñåõ ýëåìåíòîâ, äàííîå êîòîðûõ ñîâïàäàåò ñî çíà÷åíèåì ïàðàìåòðà.
- // Ìåòîä âîçâðàùàåò êîëè÷åñòâî óäàëåííûõ ýëåìåíòîâ.
- void Remove_list();//5) Ñäåëàòü ñïèñîê ïóñòûì
-
- void Swap(Node* prev, Node* movable);
- void Sort_list(); //ñîðòèðîâêa ïî âîçðàñòàíèþ ïëîùàäè îáúåêòà.
-
-
- List& operator=(const List&);
- List& operator=(List&&);
- /*void InputFromFile();*/
- friend std::ostream& operator<<(std::ostream& os, const Node& node);
- friend std::ostream& operator<<(std::ostream& os, const List& list);
- friend List& operator>>(std::ifstream& is, List& list);
- };
- std::ostream& operator<<(std::ostream& os, const List& list);
- List& operator>>(std::ifstream& is, List& list);
|