Форум программистов, компьютерный форум 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? Просто я слышал, что можно писать на си++ приложения для телефона, это правда? подробнее

Показать сообщение отдельно
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
04.09.2010, 18:45  [ТС]     Очередь
Я тут написал кое-что на основе вчерашнего, но хотелось бы попроще решение найти.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include "queue.h"
using namespace std;
 
 
 
int main()
{
    Queue <int> obj1;
 
int i = 1;
while(obj1.Enqueu(i))
i++;
 
while(obj1.Dequeue(i))
cout << i << " ";
 
 
    _getch();
}
// queue.h:

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
template <class T>
class Queue
{
    int head; int tail;
    T *q;
 
public:
    Queue();
    bool Enqueu(T);
    bool Dequeue(T& data);
};
 
template <class T>
Queue <T> ::Queue()   // Constructor.
{
    q = new T[5];
    head = NULL;
    tail = NULL;
}
 
template <class T>
bool Queue <T> ::Enqueu(T data)
{
    if(tail < 5)
    {
        q[tail] = data;
        tail++;
        return true;
    }
    else return false;
}
 
template<class T>
bool Queue <T> ::Dequeue(T &data)
{
    if(tail > 0)
    {
        tail--;
        data = q[tail];
        return true;
    }
    return false;
}
Добавлено через 9 минут
Nameless One я хочу сделать не бесконечную очередь, а выйти из функции Decueue() когда
tail == 0

А вопрос как реализовать проверку опустошения/переполнения очереди с помощью % я пожалуй
адресую автору упражнения.

Добавлено через 40 минут
И все таки как же выйти из функции когда tail == 0 ???

C++
1
2
3
4
5
6
7
int Decueue()
if(tail > 0)
{
tail++;
return q[tail];
}
else //  выйди из функции....
Подскажите пожалуйста
 
Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru