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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.68
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Алгоритм unique - C++

14.07.2011, 12:17. Просмотров 5214. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
 
 
int main() {
  list<int> p(5,6);
  
  
  unique(p.begin(),p.end());
  cout << p.size();
 
 
 
  
  return 0;
}
Почему дубликаты из алгоритма unique не удаляются?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2011, 12:17     Алгоритм unique
Посмотрите здесь:

Функция unique - C++
#include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;conio.h&gt; #include &lt;fstream&gt; using namespace...

Функция unique для list - C++
Взято отсюда. The second version (2), takes as argument a specific comparison function that determine the &quot;uniqueness&quot; of an element. In...

Unique: почему не удаляется Point(1,2)? - C++
Добрый вечер, почему не удаляется Point(1,2) ? %-) #include &lt;algorithm&gt; #include &lt;iostream&gt; #include &lt;vector&gt; #include...

non unique select - MySQL
мне нужно вытащить все записи где ид используется не только в одной записи (не уникальный) за текущий день ?

Name not unique in this context - C++ Builder БД
Проблема такого характера. На первой форме реализована работа не сложной базы данных в виде ежедневника, при активации этой формы выдается...

Unique records - Базы данных
Доброго утра всем. Как выбрать из таблицы только уникальные записи? Т.е. неповторяющиеся значения. Стандартной встроенной функцией не...

Unique в MySQL - MySQL
Здравствуйте! Пишу вам с таким вопросом, форумчане, у меня есть таблица, состоящая из полей: `id`, `login`, `pass`, `mail`, `status` ...

INSERT INTO и UNIQUE - SQL Server
никак не найду какой запрос надо послать чтобы при добавлении существующей записи ничего не происходило, а при добавлении новой запись бы...

Ограничение UNIQUE и CHECK - PostgreSQL
Всем привет! Скажите, пожалуйста, возможно ли в PostgreSQL создать ограничение UNIQUE и CHECK с вложенными в них условиями WHERE....

PRIMARY, UNIQUE and INDEX - MySQL
Коллеги, подскажите, где бы почитать адекватную статью с примерами, в каких случаях какие индексы использовать? У меня сейчас в БД...

Настройка темы Unique - WordPress
Я правильно понимаю, что меню в нем строится с помощью скрипта? Разметка сайта тоже никак не реагирует на танцы вокруг таблицы стилей ...

Unique учитывая 2 columns - MySQL
Доброго времени суток. Есть таблица CREATE TABLE spr_avto_model( id INT(11) NOT NULL AUTO_INCREMENT, id_avto INT(11) NOT...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
14.07.2011, 12:23     Алгоритм unique #2
Алгоритм unique возвращает указатель на новый конец контейнера, тут все подробно описано: http://www.cplusplus.com/reference/algorithm/unique/

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
std::list <int> p(5, 6);
std::list <int> :: iterator pend = std::unique(p.begin(), p.end());
 
p.resize(pend - p.begin());
std::cout << p.size();
 
std::cout << std::endl;
std::copy(p.begin(), p.end() /*or pend */, std::ostream_iterator <int> (std::cout, " "));
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
14.07.2011, 12:27     Алгоритм unique #3
Для этого есть метод у списка, unique.
C++
1
2
list<int> p(5,6);
p.unique();
CAHTEXHUK
Заблокирован
14.07.2011, 12:29     Алгоритм unique #4
The resulting range consists of the elements between first and the iterator returned by the function, which points to the new end of range. The elements past the new end of range are still valid, although with unspecified values

C++
1
2
3
4
for (list<int>::const_iterator it = p.begin(); it != unique(p.begin(),p.end()); it++)
  {
      cout << *it << endl;;
  }
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
14.07.2011, 21:05  [ТС]     Алгоритм unique #5
Цитата Сообщение от neske Посмотреть сообщение
Алгоритм unique возвращает указатель на новый конец контейнера, тут все подробно описано: http://www.cplusplus.com/reference/algorithm/unique/

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
std::list <int> p(5, 6);
std::list <int> :: iterator pend = std::unique(p.begin(), p.end());
 
p.resize(pend - p.begin());
std::cout << p.size();
 
std::cout << std::endl;
std::copy(p.begin(), p.end() /*or pend */, std::ostream_iterator <int> (std::cout, " "));
Вот я немного подкоректировал теперь готов алгоритм.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
 
 
int main() {
  int r;
  vector<int> p(5,6);
  p[0] = 12;
  vector<int>::iterator pend = unique(p.begin(), p.end()),u;
  r = pend - p.begin();
  u = pend;
  pend -= r;
  copy(pend,u,p.begin());
  p.resize(r);
  cout << p[0] << ' ' << p[1];
 
  return 0;
}
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
14.07.2011, 21:59     Алгоритм unique #6
Цитата Сообщение от ElvenDragon Посмотреть сообщение
Вот я немного подкоректировал теперь готов алгоритм.
угу, подкоректировали, непридумали велосипедов)
Yandex
Объявления
14.07.2011, 21:59     Алгоритм unique
Ответ Создать тему
Опции темы

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