Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Ollga
0 / 0 / 0
Регистрация: 19.06.2014
Сообщений: 25
1

Реализуйте класс List, представляющий список, элементами которого являются целые числа

27.04.2015, 15:44. Просмотров 919. Ответов 2
Метки нет (Все метки)

Реализуйте класс List, представляющий список, элементами которого являются целые числа.

Класс должен содержать следующие открытые (public) методы:

List() — конструктор по умолчанию;
bool isEmpty() — проверка, пуст ли список;
void addToHead(int value) — добавление элемента в начало списка;
void removeFromHead() — удаление из начала списка (предполагается, что список не пуст);
void print() — печать всех элементов списка, разделённых пробелами;
~List() — деструктор.
В данной задаче следует использовать специальный шаблон. Код основной функции изменять не следует.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2015, 15:44
Ответы с готовыми решениями:

Создать односвязный линейный список, элементами которого являются случайные натуральные числа
Создать односвязный линейный список, элементами которого являются случайные натуральные числа....

Список элементами которого являются очереди
Собственно сабж, нужно организовать список, элементами которого являются очереди. Создать список...

Создать массив, элементами которого являются структуры – список учеников
Задание: Создать массив, элементами которого являются структуры – список учеников (хранятся...

Сформировать файл F, компонентами которого являются целые числа
Сформировать файл F, компонентами которого являются целые числа ci=2i+3i+1. Количество чисел равно...

Создать файл File1, компонентами которого являются целые числа
Создать файл File1 , компонентами которого являются целые числа. Количество чисел равно n , где...

2
onlineman
11 / 11 / 9
Регистрация: 24.06.2014
Сообщений: 50
27.04.2015, 16:51 2
Вот код. Буду рад, если помог.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <QCoreApplication> //не обязательно
/*
    Написано в Qt Creator.
    Задание:
    Реализуйте класс List, представляющий список,
    элементами которого являются целые числа.
*/
#include <iostream>
#include <cstdlib>
 
using namespace std;
struct Node {
    int value;
    Node* next;
};
class List {
    public:
        Node *begin;
        Node *end;
        List();
        bool isEmpty();
        void addToHead(int value);
        void removeFromHead();
        void print();
        ~List();
};
List::List() {
    begin = NULL;
    end = NULL;
}
bool List::isEmpty() {
    if (begin == NULL) return true;
    else
        return false;
}
void List::addToHead(int value) {
    if (begin == NULL) {
        begin = new Node();
        begin->value = value;
        begin->next = NULL;
        end = begin;
    }else {
        Node *node = new Node();
        node->value = value;
        node->next = begin;
        begin = node;
    }
 
}
void List::removeFromHead() {
    if (!isEmpty()) {
        Node *node = begin->next;
        begin->next = NULL;
        Node *del = begin;
        delete del;
        begin = node;
    }
}
void List::print() {
    Node* node = begin;
    while(node != NULL) {
        cout << node->value << " ";
        node = node->next;
    }
}
List::~List() {
 
}
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);//не обязательно
    setlocale(LC_ALL, "Russian");
    List *list = new List();
    list->addToHead(12);
    list->addToHead(14);
    list->addToHead(15);
    list->addToHead(16);
    wcout << L"Список чисел: " << endl;
    list->print();
    wcout << endl << L"Список после удаления первого элемента: " << endl;
    list->removeFromHead();
    list->print();
    wcout << endl << L"Проверка на пустоту: " << list->isEmpty() << endl;
    system("pause");
    return a.exec();//return 0;
}
0
f1ff
13 / 13 / 12
Регистрация: 11.04.2015
Сообщений: 64
27.04.2015, 16:52 3
Лучший ответ Сообщение было отмечено Ollga как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <class T>
class List : public list<T>
{
public:
    List()  {}
    bool isEmpty() const            { return list::empty(); }
    void addToHeader(int elem)      { list::push_front(elem); }
    void removeFromHeader()         { list::pop_front(); }
 
    void print() const
    {
        for (list::const_iterator i=list::begin();  i!=list::end();  ++i)
            cout << *i << ' ';
    }
 
    ~List()     { list::clear(); }
};
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2015, 16:52

Сформировать массив IM( 50 ) ,элементами которого являются числа 1,3,5,…,49,50,48,46 ,…,2
Сформировать массив IM( 50 ) , элементами которого являются числа ...

Сформировать массив, элементами которого являются числа 2,1,4,3,6,5,...,100,99
Как написать в турбо си Сформировать массив IM(100) элементами которого являются числа...

Сформировать массив ИМ (100), элементами которого являются числа...
Всем привет! от не могу никак решить задачку, помогите плиз:) Вот она: Сформировать массив ИМ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru