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

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

Восстановить пароль Регистрация
 
GHOST12
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 86
24.11.2013, 11:57     Очередь и дэк #1
Нужно в очередь переписать все элементы дэка слева на право.
Помогите реализовать дэк.

Очередь выглядит так:
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++ Очередь С++
Очередь C++
Очередь C++
Очередь C++
C++ Очередь
Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди C++
Очередь, теория. Очередь на шести стеках C++

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

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

Текущее время: 05:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru