Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <stdlib.h>
- #include <fstream>
- #include <cstdlib>
- using namespace std;
- template <typename T> class List{
- private:
- struct element{
- T x; //Значения Х передаются в список
- element * next;
- };
- element *Head;
- public:
- List (){ Head = NULL; } //конструктор пустого списка
- ~List (); //destruction
- void Add (T value); //Добавляет эл-ты в список
- void Show (); //выводит список
- void Del (); //удаляет первый элемент списка
- void Add_END (T value); //Вставка эл-та в конец списка
- void Del_END ();
- };
- template <typename T> void List<T>::Add (T value){
- element *tmp = new element;
- tmp->x = value;
- tmp->next = Head;
- Head = tmp;
- }
- template <typename T> void List<T>::Add_END (T value){
- element *last=Head;
- while (last->next)last=last->next;
- element *tmp = new element;
- tmp->x=value;
- tmp->next=NULL;
- last->next=tmp;
- }
- template <typename T> void List<T>::Del (){
- element *tmp = Head;
- Head = Head->next;
- delete tmp;
- return;
- }
- template <typename T> void List<T>::Del_END (){
- element *tmp = Head;
- element *tmp_prev=new element;
- while (tmp->next){
- tmp_prev=tmp;
- tmp = tmp->next;
- }
- delete tmp;
- tmp=NULL;
- tmp_prev->next=NULL;
- return;
- }
- template <typename T> void List<T>::Show (){
- element *tmp = new element;
- tmp = Head;
- cout << "VAW SPISOK: ";
- while (tmp != NULL){
- cout << tmp->x << " ";
- tmp = tmp->next;
- }
- cout << "\n" << endl;
- }
- template <typename T> List<T>::~List (){
- while (Head != NULL){
- element*tmp = Head->next;
- delete Head;
- Head = tmp;
- }
- }
- int main (){
- List <int> myList;
- int N; //число эл-ов в списке
- int x; //элементы списка
- cout << "vvedite kol-vo el-ov spiska: ";
- cin >> N;
- for (int i = 0; i < N; i++){
- cout << "vvedite " << i + 1 << "element spiska: ";
- cin >> x;
- myList.Add (x);
- } //vvod N el-ov spiska
- myList.Show ();
- cout << "delete 1st element, ";
- myList.Del ();
- myList.Show ();
- cout << "delete last element, ";
- myList.Del_END ();
- myList.Show ();
- int y; //last element
- cout<<"vvedite posledniy element: ";
- cin>> y;
- myList.Add_END(y);
- myList.Show();
- system ("pause");
- }
- ////http://cppstudio.com/post/5188/
- //http://ci-plus-plus-snachala.ru/?p=57
- //http://www.codenet.ru/progr/cpp/dlist.php
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement