Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Массив и очередь с приоритетом - C++

17.11.2012, 20:23. Просмотров 1228. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста, найти информацию(или объясните принцип работы) о реализации очереди с приоритетами через массив.

Хотелось бы понять: какую структуру создавать для работы с ней, как идет представление в памяти, и как пробежать от начала очереди до конца

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 20:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив и очередь с приоритетом (C++):

Очередь с приоритетом. Элементы с наивысшим приоритетом ставятся в начало очереди, с наименьшим – в конец - C++
Здравствуйте! имеется задание: создать очередь с приоритетом (у каждого элемента свой приоритет). Элементы с наивысшим приоритетом ставятся...

Очередь с приоритетом - C++
есть очередь #include <iostream> #include <queue> using namespace std; int main() { priority_queue<float> q; ...

Очередь с приоритетом. - C++
Добрый день. Возникла небольшая проблема. У нас есть текстовый файл содержащий следующую числовую информацию: Так вот необходимо...

Очередь с приоритетом - C++
Здравствуйте! Помогите, пожалуйста! Мне нужно реализовать приоритетную очередь через дерево списков с указанием приоритетов и...

Очередь с приоритетом - C++
Здравствуйте! Пожалуйста, если кто-то может, то помогите с задачей. Задач из книги А. Шень "Программирование: теоремы и задачи". 2004 г. -...

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

2
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
17.11.2012, 22:24 #2
примерчик очереди с приоритетом на основе std::vector. Осталось написать свой контейнер (по типу std::vector), реализовать в нём методы push_back(), pop_back(), front(), begin(), end(), empty(), тип size_type и передать этой очереди.
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
 
template<typename T, typename Container = std::vector<T>>
class PriorityQueue
{
public:
    void push(T const& lhs)
    {
        con.push_back(lhs);
        std::push_heap(con.begin(), con.end());
    }
    void pop()
    {
        std::pop_heap(con.begin(), con.end());
        con.pop_back();
    }
    T const& top()const
    {
        return con.front();
    }
    typedef typename Container::size_type size_type;
    size_type size() const
    {
        return con.size();
    }
    bool empty() const
    {
        return con.empty();
    }
private:
    Container con;
};
 
int main()
{
    PriorityQueue<std::string> pq;
    pq.push("sd sd");
    pq.push("zz xx x");
    pq.push("ad,a");
    pq.push("wt wrr wf");
    while(!pq.empty())
    {
        std::cout << pq.top() << std::endl;
        pq.pop();
    }
    return 0;
}
1
Razor32
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 22
18.11.2012, 00:47  [ТС] #3
Спасибо, но мне несколько не это надо. Мне хотелось бы увидеть пример структуры для организации это очереди. Мне нельзя использовать очереди из std. Например структура для очереди с приоритетами на основе односвязного списка выглядит так:

C++
1
2
3
4
5
6
struct SL
{
    int v;//значение
    int prior;//приоритет
    SL *next;//ссылка на следующий
};
Вот и мне надо нечто подобное, только реализация не на основе односвязного списка, а на основе массива. А вот цикл для того, чтобы пробежать от начала и до конца этой очереди. В классе хранится верхний элемент этой очереди.

C++
1
for(SL *temp=top;temp!=NULL;temp=temp->next)
Если не сложно, то скажите эти две вещи...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 00:47
Привет! Вот еще темы с ответами:

Очередь с приоритетом - C++
Доброго времени суток, дорогие программисты, вот сдаю экзамены, попался такой вопрос &quot;Очередь с приоритетом. Основные операции для работы с...

Очередь с приоритетом - C++
Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). #include &lt;iostream&gt; #include...

Очередь с приоритетом - C++
как реализовать очередь с приоритетом на бинарной куче?при том нужно графически вывести на консоль т.к я поняла графический вывод...

Очередь с приоритетом - C++
У меня есть задание: 9. Разработать шаблон класса для работы с очередью с приоритетами, выполненной в виде односвязного списка. Тип...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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