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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.67
Koketka
5 / 5 / 0
Регистрация: 27.11.2009
Сообщений: 232
#1

Циклические очереди в C++ - C++

27.11.2009, 18:57. Просмотров 3592. Ответов 3
Метки нет (Все метки)

Привеет всем
нужно написать функции занесения и извлечения данных для циклической очереди???(обратите внимание на аргументы можно использовать перегрузку функций - так в задании написано)

простую очередь я вот так накидала(правильно ли?!!):

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
struct Queue {
   int d;
   Queue *p;
};
    
/*prostaya ochered formirovanie*/
Queue *first(int d){
  Queue *pv = new Queue;
  pv->d = d;
  pv->p = 0;
  return pv;
}
 
/*prostaya ochered + */
void add(Queue **end, int d){
  Queue *pv = new Queue;
  pv->d = d;
  pv->p = 0;
  (*end)->p = pv;
}
 
/*prostaya ochered - */
int del(Queue **beg){
  int temp = (*beg)->d;
  Queue *pv = *beg;
  *beg = (*beg)->p;
  delete pv;
  return temp;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2009, 18:57     Циклические очереди в C++
Посмотрите здесь:

Циклические операторы C++
С++ (циклические алгоритмы) C++
Циклические алгоритмы C++
Циклические алгоритмы C++
C++ Циклические алгоритмы
C++ Циклические алгоритмы
Циклические сдвиги C++
Циклические операторы (for,do,while) C++
C++ Циклические алгоритмы
C++ циклические сдвиги
Циклические алгоритмы C++
Циклические вычисления C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Koketka
5 / 5 / 0
Регистрация: 27.11.2009
Сообщений: 232
28.11.2009, 07:01  [ТС]     Циклические очереди в C++ #2
пишите кто что знает, будут полезны любые мысли...
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
28.11.2009, 08:54     Циклические очереди в C++ #3
Доброе утро. что-то никто вам отвечать не хочет =)
Вот набросал по быстрому - код сырой.
код
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
//Наши элементы имеют вид:
struct node
{
    some_type data;
    node* next;
}
//указатель на голову очереди. Если NULL, то очередь пуста.
node* head = NULL;
//функции добавления:
void push(node* tmp)
{
    //Выделяем память, переносим туда данные:
    node* tail = new node;
    tail->data = tmp->data;
    // Именно здесь логично использовать перезгрузку 
    //функции присваивания и определить правила по которым 
    //выполняется копирование данных нашего типа some_type.
 
    tail->next = head;// "Хвост змеи кусает её голову"
    
    //теперь нужно найти предыдущий узел (который 
    // всё еще указывает на голову) и исправить его так,
    // чтобы он указывал на добавляемый узел:
    node* ip = tail->next;
    while(!(ip->next==head))   ip = ip->next;
    ip->next = tail;    
}
 
node* pop() // возвращает указатель на элемент, элемент 
            // исключается из очереди. После окончания работ с 
            // элементом, не забываем освобождать память.
{
    node* tmp = head;
    //новой головой станет либо следующий узел, либо, если вытал-
    //киваемый элемент единственный (является головой и хвостом 
    //одновременно, следовательно указывает сам на себя) значение NULL -
    // очередь будет пуста.
    head = (head==head->next)?NULL:head->next;        
    return tmp;  
}
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
28.11.2009, 11:17     Циклические очереди в C++ #4
обратите внимание на аргументы можно использовать перегрузку функций
значит описать двунапр и однонапр очередь.
Циклической ето однонапр вроде.
P.s Функции написаны корректно.
Yandex
Объявления
28.11.2009, 11:17     Циклические очереди в C++
Ответ Создать тему
Опции темы

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