Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 11
1

Реализовать Очередь. Циклический список. Удалить указанный элемент и все предшествующие

13.06.2013, 09:53. Показов 1503. Ответов 1
Метки нет (Все метки)

Реализовать Очередь. Циклический список. Удалить указанный элемент и все предшествующие. Помогите пожалуйста, очень срочно надо. Спасибо заранее.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 09:53
Ответы с готовыми решениями:

Очередь. Циклический список. Удалить указанный элемент и все предшествующие
Очередь. Циклический список. Удалить указанный элемент и все предшествующие. Вот рабочий код,...

Реализовать. Циклическую очередь. Удалить указанный элемент и все предшествующие
Прошу очень сильно Реализовать Циклическую очередь. Удалить указанный элемент и все предшествующие....

Удалить элемент из «стека» и поместить его в «очередь» и «двусвязный список»
Удалить элемент из «стека» и поместить его в «очередь» и «двусвязный список». Результат проверить.

Работа с очередью. Умейте поставить в очередь элемент, удалить элемент из очереди, пересмотреть очередь
То чувство , когда изучали web и тут нам дают задачу по с++ ... Нужна помощь !!

1
...
1802 / 1267 / 934
Регистрация: 12.02.2013
Сообщений: 2,058
13.06.2013, 11:21 2
Лучший ответ Сообщение было отмечено pcslavqa как решение

Решение

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
#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* list, int value)
{
   TNode* node = (TNode*) malloc(sizeof(TNode));
   node->value = value;
 
   if (list->head && list->tail)
   {
      node->next = list->head;
      list->tail->next = node;
      list->tail = node;
   }
   else
   {
      node->next = node;
      list->head = list->tail = node;
   }
 
   return list;
}
//-----------------------------------------------------------------------------
TQueue* Pop(TQueue* list)
{
   TNode* node = list->head;
 
   if (node)
   {
      if (list->head == list->tail)
      {
         list->head = list->tail = NULL;
      }
      else
      {
         list->head = node->next;
         list->tail->next = list->head;
      }
 
      free(node);
   }
 
   return list;
}
//-----------------------------------------------------------------------------
TNode* Find(TQueue* list, int value)
{
   TNode* node = list->head;
 
   if (node)
   {
      while ((node != list->tail) && (node->value != value))
      {
         node = node->next;
      }
   }
 
   return (node && (node->value == value)) ? node : NULL;
}
//-----------------------------------------------------------------------------
TQueue* RemoveBefore(TQueue* list, int value)
{
   TNode* node = Find(list, value);
 
   if (node)
   {
      while (node != list->head)
      {
         Pop(list);
      }
      Pop(list);
   }
 
   return list;
}
//-----------------------------------------------------------------------------
void Print(const TQueue* list)
{
   TNode* node = list->head;
 
   printf("[");
   if (node)
   {
      while (node != list->tail)
      {
         printf("%d, ", node->value);
         node = node->next;
      }
      printf("%d", node->value);
   }
   printf("]\n");
}
//-----------------------------------------------------------------------------
 
int main()
{
   TQueue list = {NULL, NULL};
   size_t i;
 
   for (i = 0; i < 10; ++i)
   {
      Push(&list, i + 1);
   }
 
   Print(&list);
 
   RemoveBefore(&list, 5);
 
   Print(&list);
 
   system("pause");
 
   return EXIT_SUCCESS;
}
Реализовать Очередь. Циклический список. Удалить указанный элемент и все предшествующие
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 11:21

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё...

Сформировать циклический связанный список (очередь)
Сформировать циклический связанный список (очередь), содержащий последовательность целых чисел,...

Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива
Найти произведение отрицательных элементов массива, следующих после первого положительного...

Удалить из последовательности все запятые, предшествующие первой точке
Дано натуральное число n, символы s1,..., sn, среди которых есть хотя бы одна точка. Превратить...


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

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

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