Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2010, 16:08   #1
svetikzo
Новичок
Джуниор
 
Регистрация: 22.01.2010
Сообщений: 3
Вопрос Очередь C

Реализовать абстрактный тип "очередь с

приоритетами" (priority queue) с помощью

алгоритма бинарной кучи ("binary heap").

Реализовать операции:
-создать очередь
-добавить элемент в очередь
-удалить элемент из очереди
-уничтожить очередь

Для создания и манипулирования со структурами

потребуются функции динамического выделения

памяти malloc(3), free(3), realloc(3).

Вот "скелет" программы:

Код:
/*Priority Queue.
*/

#ifndef _PRIOQ_H
#define _PRIOQ_H

typedef int (*prioq_compare_t)(struct prioq_head *a, struct prioq_head *b);

struct prioq;

struct prioq_head {
	int	index;
};

/* Create new priority queue. */
struct prioq *prioq_new(prioq_compare_t compare);

/* Free priority queue and release it's resources. */
void prioq_free(struct prioq **queue);

/* Put head into priority queue. */
int prioq_put(struct prioq *queue, struct prioq_head *hp);

/* Peek head from queue. */
struct prioq_head *prioq_peek(struct prioq *queue);

/* Extract head from queue. */
struct prioq_head *prioq_get(struct prioq *queue);

/* Remove head from queue. */
void prioq_remove(struct prioq *queue, struct prioq_head *hp);

#endif

Последний раз редактировалось svetikzo; 23.01.2010 в 09:52.
svetikzo вне форума Ответить с цитированием
Старый 22.01.2010, 23:54   #2
_Ч_
Форумчанин
 
Регистрация: 07.01.2010
Сообщений: 141
По умолчанию

сишный подход. в с++ для этого пишутся классы. шаблоны классов.
_Ч_ вне форума Ответить с цитированием
Старый 23.01.2010, 09:53   #3
svetikzo
Новичок
Джуниор
 
Регистрация: 22.01.2010
Сообщений: 3
По умолчанию

извините, ошиблась. мне нужно на языке Си

Последний раз редактировалось svetikzo; 23.01.2010 в 10:02.
svetikzo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очередь skiffter Помощь студентам 2 03.12.2009 17:39
задача на очередь(Си) bars1984 Помощь студентам 15 01.06.2009 20:01
Очередь Юлькин Общие вопросы C/C++ 4 30.05.2009 16:00
Задача на очередь Freer Общие вопросы C/C++ 26 06.11.2008 01:14
очередь odi_noki Общие вопросы Delphi 3 24.10.2008 12:09