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

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

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

Поместить структуру в очередь - C++

17.06.2014, 13:26. Просмотров 183. Ответов 2
Метки нет (Все метки)

Ребят,кто-нибудь знает как запихнуть вот эту структуру в очередь,чтобы можно было добавлять, удалять элементы, а также выводит на экран всю очередь.Заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
struct stad
{               
    char name[100];
    char vidsporta[100];
    char tablo[100];
    char adress[100];
    int year ;
    int vmestimost;
    int ploshadki;
    
};
А вот есть очередь,ток как запихнуть чтоб нормально работало не пойму
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <stdio.h>
#include <stdlib.h>
 
typedef struct node_t
{
   int value;
   struct node_t* next;
}  TNode;
 
typedef struct queue_t
{
   TNode* head;
   TNode* tail;
}  TQueue;
 
//-----------------------------------------------------------------------------
TQueue* Push(TQueue* queue, int value)
{
   TNode* node = (TNode*) malloc(sizeof(TNode));
   node->value = value;
   node->next = NULL;
 
   if (queue->head && queue->tail)
   {
      queue->tail->next = node;
      queue->tail = node;
   }
   else
   {
      queue->head = queue->tail = node;
   }
 
   return queue;
}
//-----------------------------------------------------------------------------
int Pop(TQueue* queue)
{
   int value = 0;
 
   if (queue->head)
   {
      value = queue->head->value;
      queue->head = queue->head->next;
   }
 
   return value;
}
//-----------------------------------------------------------------------------
int Find(TQueue* queue, int value)
{
   TNode* node = queue->head;
 
   int i = 0;
   for (; node && (node->value != value); node = node->next)
   {
      i++;
   }
 
   return node ? i : -1;
}
//-----------------------------------------------------------------------------
void Print(const TQueue* queue)
{
   const TNode* node = queue->head;
 
   for (; node; node = node->next)
   {
      printf("%d ", node->value);
   }
   printf("\n");
}
//-----------------------------------------------------------------------------
 
int main()
{
   TQueue queue = {NULL, NULL};
 
   printf("Queue operations:\n"
          " 1. Push element\n"
          " 2. View list\n"
          " 3. Pop element\n"
          " 4. Search element\n"
          " any other for quit\n");
 
   int quit = 0;
   int value;
 
   while (!quit)
   {
      printf("command> ");
      fflush(stdin);
 
      switch (getchar())
      {
         case '1':
            printf("element> ");
            if (scanf("%d", &value))
            {
               Push(&queue, value);
            }
            break;
 
         case '2':
            Print(&queue);
            break;
 
         case '3':
            printf("popped:  %d\n", Pop(&queue));
            break;
 
         case '4':
            printf("search>  ");
            if (scanf("%d", &value))
            {
               int pos = Find(&queue, value);
 
               if (pos != -1)
               {
                  printf("%d position\n", pos + 1);
               }
               else
               {
                  printf("element %d not found\n", value);
               }
            }
            break;
 
         default:
            quit = 1;
      }
   }
 
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 13:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поместить структуру в очередь (C++):

Поместить элементы массива в очередь - C++
Привет! Есть такой код: #include&lt;iostream&gt; using namespace std; struct stack { int info; stack*next; }; struct queue ...

В очередь Och2 поместить все максимальные элементы из Och1 и найти их количество - C++
Помогите написать программу. Описать структуры данных, процедуры и функции, необходимые для работы с очередями. Используя генератор...

Классы: в очередь Och2 поместить все неотрицательные элементы из Och1 и найти их сумму - C++
Помогите написать программу. Описать классы, необходимые для работы с заданной динамической структурой данных (класс для элемента...

Создать структуру, реализующую очередь целых чисел типа FIFO - C++
Помогите пожалуйста как будет выглядеть программа : создать структуру , реализующую очередь целых чисел типа FIFO . данные структуры :...

Как можно объединить в одну структуру стек (очередь) и дек, при этом не создавая 2 структуры? - C++
Доброго всем вечера! У меня возник вопрос такой)) Как я могу объединить в одну структуру стек(очередь) и дек, при это не создавая 2...

Реализовать структуру данных "очередь" - C++
Написать программу, содержащую описание очереди и моделирующую работу очереди, реализовав все указанные здесь методы. Программа считывает...

2
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
17.06.2014, 13:31 #2
вместо
C++
1
int value;
это
C++
1
stad value;
1
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 13:36 #3
а когда массивы станут динамическими автор начнет очень сильно удивляться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 13:36
Привет! Вот еще темы с ответами:

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете - C++
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете. В каждый момент времени происходит одно из событий:...

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.) - C++
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать очередь, чтобы добавляло, удаляло, читало....

Задача на очередь (вывод сообщения, что очередь пуста) - C++
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо добавить код, чтобы выводил сообщение, что очередь пуста.....

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


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

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

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