Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/23: Рейтинг темы: голосов - 23, средняя оценка - 4.78
3 / 3 / 1
Регистрация: 17.02.2013
Сообщений: 44
1

Добавлять/удалять элементы с разных концов очереди

23.05.2013, 22:28. Просмотров 4237. Ответов 4
Метки нет (Все метки)


Как создать очередь в си и работать с ней?
Необходимо добавлять/удалять элементы с разных концов
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2013, 22:28
Ответы с готовыми решениями:

Извлекать из очереди элементы, пока значение начального элемента очереди не станет четным
Даны указатели P1 и P2 на начало и конец непустого очереди. Извлекать из очереди элементы, пока...

Как создавать, записывать, удалять, выводить элементы списка
Здраствуйте я прошу вас помочь разобраться со списками(односвязными LIFO, FIFO), как создавать,...

Как добавлять и удалять элементы из очереди?
Не нашел методы Push и Pop для очереди.

1. Напишите программу реализации очередей с двусторонним доступом посредством массивов. Очередь с двусторонним доступом – это список, в котором добавлять и удалять элементы можно с обоих концов.
Пожалуйста помогите написать прогу!!!((( Светит незачот((( Если не сложно попробуйте вот эти...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
4
...
1799 / 1264 / 934
Регистрация: 12.02.2013
Сообщений: 2,058
24.05.2013, 06:50 2
Цитата Сообщение от ramzay Посмотреть сообщение
Необходимо добавлять/удалять элементы с разных концов
Если удалять и добавлять с разных концов то это уже двусвязный список или по другому - дек.
0
3 / 3 / 1
Регистрация: 17.02.2013
Сообщений: 44
24.05.2013, 11:21  [ТС] 3
Цитата Сообщение от anmartex Посмотреть сообщение
Если удалять и добавлять с разных концов то это уже двусвязный список или по другому - дек.
хорошо,такое задание тоже есть,но необходимо для начала разобраться бы с простым списком)
не поможете?
0
...
1799 / 1264 / 934
Регистрация: 12.02.2013
Сообщений: 2,058
24.05.2013, 11:35 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от ramzay Посмотреть сообщение
хорошо,такое задание тоже есть,но необходимо для начала разобраться бы с простым списком)
не поможете?
Добро!:
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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct node_t
{
   int value;
   struct node_t* next;
}  TNode;
 
typedef struct list_t
{
   TNode* head;
   TNode* tail;
}  TList;
 
//-----------------------------------------------------------------------------
TList* PushBack(TList* list, int value)
{
   TNode* node = (TNode*) malloc(sizeof(TNode));
   node->value = value;
   node->next = NULL;
 
   if (list->head && list->tail)
   {
      list->tail->next = node;
      list->tail = node;
   }
   else
   {
      list->head = list->tail = node;
   }
 
   return list;
}
//-----------------------------------------------------------------------------
int Pop(TList* list)
{
   TNode* node = list->head;
   list->head = node->next;
   if (list->head == NULL)
   {
      list->tail = NULL;
   }
   int value = node->value;
   free(node);
 
   return value;
}
//-----------------------------------------------------------------------------
int IsEmpty(const TList* list)
{
   return (list->head == NULL);
}
//-----------------------------------------------------------------------------
 
int main()
{
   TList list = {NULL, NULL};
   int i;
 
   for (i = 0; i < 10; ++i)
   {
      PushBack(&list, i + 1);
   }
 
   while (!IsEmpty(&list))
   {
      printf("%d ", Pop(&list));
   }
   printf("\n");
 
   system("pause");
   return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от anmartex Посмотреть сообщение
Если удалять и добавлять с разных концов то это уже двусвязный список или по другому - дек.
Не прав, только если удалять с хвоста, а вот добавить можно. Заработался я сегодня
2
3 / 3 / 1
Регистрация: 17.02.2013
Сообщений: 44
25.05.2013, 00:46  [ТС] 5
Цитата Сообщение от anmartex Посмотреть сообщение
Добро!:

Не прав, только если удалять с хвоста, а вот добавить можно. Заработался я сегодня
ой..может я перепутал понятия..мне очередь же нужна была)
вы пример очереди показали?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2013, 00:46

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Как правильно добавлять и удалять элементы в вектор и из него
Всем доброго времени суток. Прошу объяснить как правильно добавлять и удалять элементы в вектор и...

Создать файл, в который можно добавлять, редактировать и удалять элементы структуры
По заданию нужно создать файл, в который можно добавлять, редактировать и удалять элементы...

Как во время работы программы добавлять и удалять элементы, pictureBox в том числе?
Как во время работы программы нажимая на button добавлять в форму группы элементов, чтобы новая...

Возможность добавлять и удалять поля в модуле
Уважаемые специалисты, помогите разобраться: Нужно реализовать в модуле возможность добавления и...


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

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

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