Форум программистов, компьютерный форум CyberForum.ru

Не типизированный стек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамическое программирование: самая длинная строго возрастающая подпоследовательность http://www.cyberforum.ru/cpp-beginners/thread1311271.html
Здравствуйте!!! У меня есть такое задание: дана последовательность целых чисел. Необходимо найти её самую длинную строго возрастающую подпоследовательность. Я знаю, что она должна решаться по аналогии с задачей о наибольшей общей подстроке, но как конкретно её решать не знаю. Подскажите хотя бы идею решения. За код буду отдельно очень признателен. Заранее спасибо!!!
C++ Std::thread автоматическая многопоточность Есть данный пример создания массива thread и инициализации его в цикле. #include<iostream> #include<sstream> #include<thread> using namespace std; class printId { public: void operator()() { ostringstream out; http://www.cyberforum.ru/cpp-beginners/thread1311270.html
C++ Скопировать в текстовой файл слова содержащие символ 'C'
Дан символ C — строчная (маленькая) латинская буква и текстовый файл. Создать строковый файл и записать в него все слова из исходного файла, содержащие хотя бы одну букву C (прописную или строчную). Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит подходящих слов, то...
C++ Как ускорить пирамидальную сортировку?
Второй цикл for в пирамидальной сортировке можно было бы сократить, добавив условие завершения i > 3. Следует ли добавить после этого цикл, и если да, то что, для того, чтобы конечный список как и раньше был отсортированным? Приводят ли подобные изменения к уменьшению числа сравнений?
C++ Написать программу: Определить разность между наибольшей и наименьшей цифрами натурального числа http://www.cyberforum.ru/cpp-beginners/thread1311259.html
Напишите код. Определить разность между наибольшей и наименьшей цифрами натурального числа N, представленного в шестиричной системе счисления.
C++ Написать программу: могут ли три числа быть длинами сторон треугольника? Решите эту задачу: даны три числа если они могут быть длинами сторон равнобедренного тупоугольного треугольника, то вычислите его площадь. Выведите длины сторон и площадь в порядке возрастания значений. подробнее

Показать сообщение отдельно
Dark Byte
6 / 23 / 4
Регистрация: 23.10.2014
Сообщений: 849
Завершенные тесты: 2
26.11.2014, 09:07     Не типизированный стек
еще один эксперимент в духе хз зачем написал и где это может пригодится
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
class Stack
{
private:
    struct Node
    {
        Node* prev = nullptr;
        unsigned char* data = nullptr;
    } *last = nullptr;
 
public:
    Stack() {}
 
    ~Stack()
    {
        while (last) pop();
    }
 
    template<typename T>
    void push(const T &data)
    {
        static_assert(!std::is_pointer<T>::value, "Type should not be a pointer");
        Node* tmp = new Node;
        tmp->prev = last;
        T* ptr = new T;
        *ptr = data;
        tmp->data = (unsigned char*) ptr;
        last = tmp;
    }
 
    void pop()
    {
        if (!last) return;
        delete last->data;
        Node* tmp = last->prev;
        delete last;
        last = tmp;
    }
 
    template<typename T>
    const T& peek() const
    {
        if (!last) throw("Stack is empty");
        return *((T*) last->data);
    }
};
Добавлено через 6 минут
з.ы. только надо четко указывать при вызове Peek какой тип хочешь получить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru