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

Удаление элемента из очереди - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Kn0x
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 16
04.10.2013, 16:23     Удаление элемента из очереди #1
Здравствуйте, проблема с очередями, совсем их не понимаю, перечитал много статей все равно не доходит.(
Задание: Удалить каждый второй элемент из очереди.
Правдами не правдами написал часть кода, осталось дописать удаление каждого второго элемента, помогите пожалуйста.
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
#include <conio.h>
#include <iostream>
using namespace std;
struct Item {
int info;
Item* next;
};
 
void main ( )
{
    Item *first = 0; //Указатель на начало списка
    Item *p;
    int i,z,k;
    cout << "Vvedite kol-vo elementov v ocheredi\n";
    cin >> z;  // Создать список
    for (k=0;k<z;k++) 
    {
        cin >> i;
        p = new Item; // Создать новый элемент списка
        p->info = i;
        p->next = first ;  // Присоединить новый элемент к началу списка
        first = p;
    }
    // Пройти список и вывести элементы
    p = first;
    while (p) 
    {
        cout<< p->info << " " ;
        p = p->next;
    }
    // Пройти список и удалить элементы
    while (first) 
    {
        p = first;
        first = first->next ;
        delete p;
    }
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 16:23     Удаление элемента из очереди
Посмотрите здесь:

C++ Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
C++ Функция добавления и увеличения элемента из очереди с приоритетами
C++ править код (создание очереди и удаление элемента очереди по усмотрению пользователя)
C++ Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств )
queue удаление из очереди C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
04.10.2013, 16:33     Удаление элемента из очереди #2
Задайте переменную допустим count, первоначальное значение задайте ей допустим 0. Создайте цикл в котором от начало до конца будете перебирать вашу очередь. Затем каждый раз увеличивайте вашу переменную count. И сделайте условие если count == 2, тогда цепь соедините так, следующий должен быть равен предыдущему, и текущий delete. Вот и все.
Kn0x
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 16
04.10.2013, 16:40  [ТС]     Удаление элемента из очереди #3
Цитата Сообщение от Bend3r Посмотреть сообщение
Задайте переменную допустим count, первоначальное значение задайте ей допустим 0. Создайте цикл в котором от начало до конца будете перебирать вашу очередь. Затем каждый раз увеличивайте вашу переменную count. И сделайте условие если count == 2, тогда цепь соедините так, следующий должен быть равен предыдущему, и текущий delete. Вот и все.
то что вы написали, как я понимаю, удалит только 2ой элемент очереди, а мне надо каждый второй.
И потом, я немного не понимаю как это программно записать
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
04.10.2013, 16:43     Удаление элемента из очереди #4
Цитата Сообщение от Kn0x Посмотреть сообщение
то что вы написали, как я понимаю, удалит только 2ой элемент очереди, а мне надо каждый второй.
И потом, я немного не понимаю как это программно записать
Вы ошибаетесь, просто нужно каждый раз переменной count присваивать значение 0.

Добавлено через 1 минуту
Цитата Сообщение от Kn0x Посмотреть сообщение
я немного не понимаю как это программно записать
Научитесь просто удалять все элементы, затем думаю все вам проясниться.
написать программу для удаления положительных элементов очереди
Yandex
Объявления
04.10.2013, 16:43     Удаление элемента из очереди
Ответ Создать тему
Опции темы

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