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

Очередь - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамический массив указателей http://www.cyberforum.ru/cpp-beginners/thread163417.html
Чегото не пойму такое вообще возможно? Странно, что при объявлении можно не указывать размерность: int *a; Но как потом память выделять не известно. Добавлено через 2 минуты p.s. прошу не путать с указателем на массив.
C++ Как выразить в С корень n-степени. Как выразить в С корень n-степени. Подскажите. http://www.cyberforum.ru/cpp-beginners/thread163391.html
C++ Объявление структуры и класса
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не правильно? #include <iostream> using namespace std; struct str { int pub; private: int prv;
Вычисление факториала C++
Помогите пожалуйста вычислить факториал:
C++ Сделать функцию "Команда" http://www.cyberforum.ru/cpp-beginners/thread163290.html
Может кто помочь написать функцию "команда", т.е. например в консольном приложении вводишь команду, например hello, в ответ выводится hello world и тому подобное, задавать команду примерно так: command("hello") { printf ("Hello World\n"); }
C++ Приложения для телефона Писать приложения для телефона можно только на Java? Просто я слышал, что можно писать на си++ приложения для телефона, это правда? подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.09.2010, 19:10     Очередь
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
#include <iostream>
#include <stdexcept>
 
template<class T>
class queue
{
    
public:
    
    queue(size_t reservedSize = DEFAULT_SZ);
    ~queue();
    void enqueue(const T& rhs);
    T dequeue();
    bool empty();
    size_t maxSize();
    size_t currSize();
    
private:
 
    const static size_t DEFAULT_SZ = 15;
    size_t tail;
    size_t size;
    T*  arr;
};
 
template<class T>
queue<T>::queue(size_t reservedSize)
    : tail(0), size(reservedSize)
{
    arr = new T[size]();
}
 
template<class T>
queue<T>::~queue()
{
    delete[] arr;
}
 
template<class T>
void queue<T>::enqueue(const T& rhs)
{
    if(tail == size)
        throw(std::runtime_error("The queue is full"));
    arr[tail++] = rhs;
}
 
template<class T>
T queue<T>::dequeue()
{
    if(!tail)
        throw(std::runtime_error("The queue is empty"));
    T retval = arr[0];
    for(size_t i = 0; i < tail; ++i)
        arr[i] = arr[i + 1];
    --tail; 
    return retval;
}
 
template<class T>
bool queue<T>::empty()
{
    return !tail;
}
 
template<class T>
size_t queue<T>::maxSize()
{
    return size;
}
 
template<class T>
size_t queue<T>::currSize()
{
    return tail;
}
 
int main(int argc, char* argv[])
{
    try
    {
        queue<int> iq;
        for(size_t i = 0; i < iq.maxSize(); ++i)
        {
            std::cout << "Pushing to queue: " << i << std::endl;
            iq.enqueue(i);
        }
        while(!iq.empty())
            std::cout << "Poping from queue: " << iq.dequeue() << std::endl;
    }
    catch(std::exception& e)
    {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    return 0;
}
 
Текущее время: 21:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru