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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GHOST12
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 87
#1

Очередь и дэк - C++

24.11.2013, 11:57. Просмотров 229. Ответов 0
Метки нет (Все метки)

Нужно в очередь переписать все элементы дэка слева на право.
Помогите реализовать дэк.

Очередь выглядит так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
class CQueue
{
    int phead;//Указатель на начало очереди
    int ptill;//Указатель на конец очереди
    int *arr;//Массив элементов очереди
    int start;//Начало очереди
    int MaxSize;
    bool full,empty;
public:
    CQueue(int s);
    void push(const int element);//Добавление в конец очереди
    void pop(int *element);//Чтение с начала очереди
    int size_queue();//Кол-во элементов в очереди
    bool is_full();//Определяет полна ли очередь
    bool is_empty();//Определяет пуста ли очередь
    ~CQueue(void);
};
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
#include "StdAfx.h"
#include "Queue.h"
 
 
CQueue::CQueue(int s)
{
    if(s==-1&&s<MaxSize)
        start=s;
    else
        start=-1;
    phead=ptill=start;
    arr=NULL;
    full=false;
    empty=true;
    MaxSize=10;
    arr=new int [MaxSize];
 
}
void CQueue::push(const int element)
{
    if(ptill<MaxSize){
        if(phead==start)
            phead=start+1;
        empty=false;
        arr[++ptill]=element;
    }
    else
        full=true;
}
void CQueue::pop(int *element)
{
    if((ptill-phead)!=-1)
        *element=arr[phead++];
    else{
        ptill=phead=start;
        empty=true;
    }
}
bool CQueue::is_full()
{
    return full;
}
bool CQueue::is_empty()
{
    return empty;
}
int CQueue::size_queue()
{
    return ptill-phead;
}
CQueue::~CQueue(void)
{
    delete [] arr;
    arr=NULL;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 11:57     Очередь и дэк
Посмотрите здесь:

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете - C++
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете. В каждый момент времени происходит одно из событий:...

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.) - C++
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать очередь, чтобы добавляло, удаляло, читало....

Задача на очередь (вывод сообщения, что очередь пуста) - C++
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо добавить код, чтобы выводил сообщение, что очередь пуста.....

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди - C++
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё &quot;творение&quot;. int main() { int...

с++ очередь - C++
Ребят создал очередь. Ввод и удаление. есть проблемы с выводом. скину шапку и код на удаление using namespace std; const int N=6; ...

очередь - C++
Что то никак не получается разобраться. Есть база данных клиентов банка. Создать очередь клиентов приоритет которых будет по количеству...

Очередь - C++
Реализуйте структуру данных &quot;очередь&quot; на основе циклического массива или другим способом. Входные данные В каждой строке входных...

C++ Очередь - C++
Предисловие к заданию: Определить структуру очереди и разработать функции, которые необходимы для работы с заданным контейнером: ...

Очередь? What - C++
Всем доброго время суток.Дело в том, что с трудом дается с++, но очень хочется стать программистом.Вообщем ничего толком не объяснив препод...

Очередь - C++
Доброй ночи!Написала программу, но почему то print и contains не работает! помогите, пожалуйста, разобраться или наведите на путь...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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