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

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

Войти
Регистрация
Восстановить пароль
 
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
#1

Удаление list STL - C++

06.10.2013, 01:18. Просмотров 536. Ответов 3
Метки нет (Все метки)

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

посоветуйте как сделать удаление быстрее?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
float list_erase_rand(int num)
{
    int size = MyList.size();
    srand(time(NULL)) ;
    list<int>::iterator newIterator;
    clock_t MyTime = clock();
    for(int i = size-1; i > 1; i--){
        newIterator = MyList.begin ( );
        advance ( newIterator , rand ( ) % (i+1));
        MyList.erase(newIterator);
    }
    MyList.erase(MyList.begin ( ));
    MyList.erase(MyList.begin ( ));
    MyTime = clock() - MyTime;
    cout << MyList.size();
    return ((float)MyTime) / CLOCKS_PER_SEC;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 01:18     Удаление list STL
Посмотрите здесь:

C++ STL vector,list
удаление значения в STL list C++
c++ stl удаление елемента из list C++
C++ Работа с STL list
C++ Удаление элемента списка list.STL
C++ STL List
stl, удаление элементов в list C++
C++ STL list
List STL C++
STL list C++
Работа с STL list + пропись List.h C++
Программа с List из STL C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 2
Завершенные тесты: 1
06.10.2013, 01:23     Удаление list STL #2
Цитата Сообщение от Владслав Посмотреть сообщение
посоветуйте как сделать удаление быстрее?
быстрее?
C++
1
MyList.clear ( ) ;
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
06.10.2013, 01:25  [ТС]     Удаление list STL #3
Это очень просто, мне нужно по условию удалять элементы в случайном порядке((
Tulosba
:)
Эксперт С++
4391 / 3234 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
06.10.2013, 11:05     Удаление list STL #4
Если нужно удалять в случайном порядке, предлагаю сохранить указатели (итераторы) на все элементы списка в вектор, перемешать его, а потом пройтись по нему и удалить элементы списка.
Yandex
Объявления
06.10.2013, 11:05     Удаление list STL
Ответ Создать тему
Опции темы

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