Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Narek514

Class List<T>

05.05.2011, 08:46. Показов 1497. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать функцию удаления элемента списка этим объявлением(obyavleniyem)
void list<T>::del(el*)

 Комментарий модератора 
Пишите на русском языке кирилицей!
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2011, 08:46
Ответы с готовыми решениями:

raised exception class EstringListError with message 'List index out of bounds(-1)'. Process stopped. Use Stop or Run to continued
AnsiString str = FileListBox1-&gt;Directory + &quot;\\&quot; + FileListBox1-&gt;Items-&gt;Strings; ShellExecute(Handle, &quot;open&quot;, str.c_str(), NULL, NULL,...

Ошибка E2333: Class member declared outside its class
Доброго времени суток,подскажите в чём дело? //--------------------------------------------------------------------------- #include...

Project raison expetion class EClassNotFound with message "Class TMainMenu not found"
Что это может значит? Подскажите пожалуйста

1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.05.2011, 11:12
Лучший ответ Сообщение было отмечено как решение

Решение

Narek514, Взять и создать.) Руками полагаю.

C++
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
 
template<class T>
class List
{
public:
    struct Node
    {
        Node* prev;
        Node* next;
        T elem;
        Node(T elem_ = T()):elem(elem_), prev(0), next(0)
        {
        }
    };
    List():head(0), tail(0)
    {
    }
    void push_back(T elem_)
    {
        Node* tmp = new Node(elem_);
        if(!head)
        {
            head = tmp;
            tail = tmp;
            return;
        }
        tail->next = tmp;
        tmp->prev = tail;
        tail = tmp;
    }
    void push_front(T elem_)
    {
        if(!head)
        {
            push_back(elem_);
            return;
        }
        Node* tmp = new Node(elem_);
        head->prev = tmp;
        tmp->next = head;
        head = tmp;
    }
    void pop_back()
    {
        Node* t = tail;
        tail = tail->prev;
        tail->next = 0;
        delete t;
    }
    void pop_front()
    {
        Node* t = head;
        head = head->next;
        head->prev = 0;
        delete t;
    }
    void erase(Node* to_del)
    {
        if(to_del == head)
            pop_front();
        else if(to_del == tail)
            pop_back();
        else
        {
            to_del->prev->next = to_del->next;
            to_del->next->prev = to_del->prev;
            to_del->next = 0;
            to_del->prev = 0;
            delete to_del;
        }
    }
    Node* getHead() const {return head;}
    Node* getTail() const {return tail;}
private:
    Node* head;
    Node* tail;
};
template<class T>
std::ostream& operator <<(std::ostream& os, const List<T>& lst)
{
    for(typename List<T>::Node* tmp = lst.getHead(); tmp; tmp = tmp->next)
        os << tmp->elem << ' ';
    os << '\n';
    return os;
}
 
int main()
{
    List<int> lst;
    lst.push_back(10);
    lst.push_front(5);
    lst.push_back(20);
    lst.push_front(40);
    lst.push_back(15);
    std::cout << lst << '\n';
    List<int>::Node* tmp = lst.getHead();
    lst.erase(tmp);
    std::cout << lst << '\n';
    tmp = lst.getTail();
    lst.erase(tmp);
    std::cout << lst << '\n';
    tmp = lst.getHead()->next;
    lst.erase(tmp);
    std::cout << lst << '\n';
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2011, 11:12
Помогаю со студенческими работами здесь

List class
Если кто знает, где можно про этот класс почитать, как с ним работать, дайте линк плз.

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int')
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

class List
class List { private: struct LStruct { LStruct *m_pNext; int info; }; LStruct *m_pHead; public:

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я прописываю тело функций внутри описания...

'MyQueue' : use of class template requires template argument list
Написал код про шаблоны. Не могу понять почему выводит ошибку во время наследования класса. ошибки 'MyQueue' : use of class template...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru