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

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

Войти
Регистрация
Восстановить пароль
 
Alliance-
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 11
#1

Удаление элементов из списка - C++

15.10.2013, 13:14. Просмотров 1026. Ответов 6
Метки нет (Все метки)

Создать список. Потом удалить из него все отрицательные элементы. Если можно с комментариями некоторых действий) кстати сдавать программу мне придется на листке бумаги, так что без сильных заморочек я думаю обойдемся)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 13:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление элементов из списка (C++):

Удаление элементов из односвязного списка списка - C++
Привет всем знатокам, суровым программистам и профессионалам своего дела. Засел за реализацией списка и что то пока не могу понять. Задача...

Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением) - C++
Здравствуйте! Помогите написать программу, обеспечивающую работу с двунаправленным нециклическим списком: добавление/удаление элементов в...

Удаление элементов из списка - C++
помогите пожалуйста)))написать процедуру , которая удаляет: а)из списка L за каждым вхождением элемента Е один элемент, если такой есть...

Удаление элементов из списка - C++
Здравствуйте. Есть такая программа, не могу сделать удаление элемента из списка, помогите пожалуйста. #include <iostream> #include...

Удаление элементов списка - C++
Есть двунаправленный список, функция которая при повторении двух подряд одинаково парных чисел суммирует их, записывает в один элемент а...

Удаление элементов из списка - C++
Дан список L, состоящий из записей: первое поле – вещественное число, второе – адрес следующего элемента. Составить программу, которая...

6
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
15.10.2013, 13:29 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//
// Создаем список
//
std::vector<int> list = { -2, -1, 0, 1, 2 }
//
// В цикле проходим все элементы и удаляем отрицательные
//
for (int i = 0; i < list.size(); i++)
{
    if ( list[i] < 0 )
    {
        list.erase(list.begin() + i);
    }
}
Немного про ERASE:

C++
1
2
3
4
5
6
7
8
9
10
//
// Функция принимает ИТЕРАТОР (а не значение)
//
list.erase( list.begin() );
//
// list.begin() - это ИТЕРАТОР на начало списка (вектора), индекс = 0
//
// соответсвенно чтобы удалить элементом с индексом 6, надо получить его ИТЕРАТОР: list.begin() + 6
//
list.erase( list.begin() + 6 );
0
Alliance-
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 11
15.10.2013, 13:35  [ТС] #3
std::vector<int> list = { -2, -1, 0, 1, 2 } - эта строчка мне немного непонятна, просто когда МЫ создаем список, у нас там указатели присутствуют, к примеру -

Struct list {

list * next;
Mt data;
*head, *p, *q;

и т.д
0
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
15.10.2013, 13:40 #4
Это уже готовая функция из библиотеки std!

Вам надо свой реализовать свой список?
0
Alliance-
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 11
15.10.2013, 17:52  [ТС] #5
да!
0
Raali
15.10.2013, 18:02
  #6

Не по теме:

Цитата Сообщение от Alliance- Посмотреть сообщение
кстати сдавать программу мне придется на листке бумаги
кто это так издевается над вами?

0
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
15.10.2013, 20:27 #7
Цитата Сообщение от Alliance- Посмотреть сообщение
Создать список. Потом удалить из него все отрицательные элементы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <list>
#include <algorithm>
#include <iostream>
 
using namespace std;
 
int main() {
    list<int> l = { 1, -2, 3, 4, -5, 6, -7 };        // create list of integers
    l.erase(remove_if(begin(l), end(l),              // remove elements from list
                      [] (int i) { return i < 0; }), // that are negative
            l.end());
    for (int i : l)
        cout << i << ", ";
}
1, 3, 4, 6,
0
15.10.2013, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 20:27
Привет! Вот еще темы с ответами:

Удаление элементов из списка - C++
struct List { int data; List *next; }; typedef List* ListPtr; void InsertHead(ListPtr &amp; h, int a); void showList(ListPtr...

Удаление элементов из списка - C++
Доброго всем времени суток! в универе начали проходить динамические структуры, дошли до списков. Дали задание составить динамический...

Удаление элементов из списка - C++
Даны числа n, m и список list&lt;n_vec&gt; l1 Как удалить из l1 элементы с n по m? n_vec - структура

Удаление элементов из списка - C++
Товарищи, прошу о помощи! Задание такое: создать список из целых чисел. Удалить лишние элементы в списке так, чтобы в результирующем...


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

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

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