Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание кольцевой очереди / 6 сообщений из 6, страница 1 из 1
01.12.2006, 23:27
    #34171998
Llucas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
Доброго времени суток. Помогите пожалуйста, нарисовалась такая задачка, заранее благодарен...

Реализовать кольцевую очередь для хранения следующих данных:
- имя программы,
- время исполнения программы.
Обеспечить выполнение операций:
- добавление элемента в очередь,
- удаление элемента из очереди,
- прокрутку очереди с моделированием выделения кванта времени для каждого элемента,
- автоматическое удаление элемента из очереди при завершении времени исполнения программы,
- определение размера очереди,
- распечатка содержимого очереди


Нужно собственно организовать кольцевую очередь при помощи указателей, и реализовать хотя бы одну из выше перечисленных операций. Спасибо
...
Рейтинг: 0 / 0
01.12.2006, 23:34
    #34172003
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
Ну чё, парни? Приступим?

500 $
...
Рейтинг: 0 / 0
02.12.2006, 07:59
    #34172150
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
Код: plaintext
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.
// INCLUDE - файл
struct UZEL { // узел двусвязного списка
    char *Program;
    unsigned long Tim; // время msec
    UZEL *Left,*Right;
};
class QUEE{
public:
    QUEE(); // создание пустой очереди
    ~QUEE();
    void Add(char *Program,unsigned long Tim); // поместить в очередь
    void Delete(char **Program, unsigned long &Tim); // удалить из очереди
        // данные удаляемого узла помещаются в параметры
private:
    UZEL *Head;
};

// IMPLEMENTATION (CPP) файл
QUEE::QUEE(){
Head=new UZEL;
Head->Left=Head->Right=Head;
}

QUEE::~QUEE(){
UZEL *t;
while(Head->Right!=Head){
    t=Head->Right->Right;
    delete Head->Right;
    Head->Right=t;
}
delete Head;
}

void QUEE::Add(char *Program,unsigned long Tim){
// добавление справа от головы
UZEL *x=new UZEL;
x->Program=Program;
x->Tim=Tim;
x->Left=Head;
x->Right=Head->Right;
Head->Right->Left=x;
Head->Right=x;
}

void QUEE::Delete(char **Program, unsigned long &Tim){
// удаляется узел слева от головы (если он есть)
if(Head->Left==Head){ // очередь пуста
    return; // а м. быть exception
}
*Program=Head->Left->Program;
*Tim=Head->Left->Tim;
// уже надоело
}
...
Рейтинг: 0 / 0
02.12.2006, 17:34
    #34172480
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
maytonНу чё, парни? Приступим?

500 $

мак седьмой отлично начал. остальное пусть юзер сам делает.
...
Рейтинг: 0 / 0
03.12.2006, 22:14
    #34173294
Llucas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
Спасибо большое....
...
Рейтинг: 0 / 0
04.12.2006, 14:48
    #34174956
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание кольцевой очереди
maytonНу чё, парни? Приступим?

500 $

опять всё малину .... :)

(круглый)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание кольцевой очереди / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]