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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка слов по алфавиту методом выбора. http://www.cyberforum.ru/cpp-beginners/thread68020.html
Как это дело реализовать? Задать числовое значение каждой букве в алфавите или же использовать аски ? Посоветуйте)
C++ Напишите пожалуйста програмный код) Здраствуйте! Помогите пожалуйста бедной)С++ 1)Написать программу используя функциюкоторая определяет:является ли число целым(с с помощью цикла for) 2)Написать программу которая заминяет отрицательные элементы массива на среднее арифметическое а положительные элементы на произведение элементов массива. http://www.cyberforum.ru/cpp-beginners/thread67988.html
Найдить ошибку C++
// Ета программа запрашивает у пользователя два числа #include <iostream.h> #include <conio.h> #pragma hdrstop int multiply(int, int) void showResult(int) int main (int argc, char *argv)
C++ Стек на основе связанного списка C++
Привет:) Мне нужно разработать функции занесения и извлечения данных стека на основе связанного списка!на основе массива уже написала, а это не пойму как сделать нужно... Плиз помогите, кто знает...
C++ Программа с описанными шаблонами структур и их массивом http://www.cyberforum.ru/cpp-beginners/thread67967.html
Написать программу, отвечающую следующим требованиям: 1. Наличие внешне описанного шаблона структуры name с двумя элементами: строкой для имени и строкой для фамилии. 2. Наличие внешне описанного шаблона структуры data с тремя элементами: число (1...31), месяц (1...12), год (1900...2100) 3. Наличие внешне описанного шаблона структуры anketa с тремя элементами: структурой name, pol (м.ж.),...
C++ Меню Программа должна содержать меню. В последовательности целых чисел определить количество элементов, значения которых находятся в интервале и среди них определить максимальный. Помогите пожалуйста!!! подробнее

Показать сообщение отдельно
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
28.11.2009, 08:54     Циклические очереди в C++
Доброе утро. что-то никто вам отвечать не хочет =)
Вот набросал по быстрому - код сырой.
код
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;  
}
 
Текущее время: 05:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru