простой вопрос по STL

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
...
Частый Гость
Сообщения: 38
Зарегистрирован: 25 фев 2003, 10:13

простой вопрос по STL

Сообщение ... »

есть 2 вектора:


vector <CString> Targets;
vector<CString> Links;

в первом 4 эл-та:
"1.2.45","1.2.46","1.2.47","1.2.48";

во втором - 3:
"1.2.45","1.2.45","1.2.45";

вопрос - почему includes(Targets.begin(),Targets.end(),
Links.begin(),Links.end())

возвращает мне "false" - ведь все эл-ты из Links присутствуют в Targets??? :x

p.s. ногами не бить...:-)
Аватара пользователя
fooit
Пользователь
Сообщения: 135
Зарегистрирован: 17 фев 2003, 19:09
Откуда: Toronto, ON
Контактная информация:

Что-то Вы недоговариваете, тов. Троеточкин!

Сообщение fooit »

Что-то Вы недоговариваете, тов. Троеточкин!
Всё работает как часы, но eсли vector не отсортирован, то includes работать не будет.
The includes algorithm searches for one sequence of values in another sequence of values. includes returns true if every element in the range [first2..last2) is in the sequence [first1..last1). This version of includes assumes that both sequences are sorted using operator<.

Код: Выделить всё

	vector<CString> v1;
	vector<CString> v2;

	v1.push_back("1.2.45");
	v1.push_back("1.2.46");
	v1.push_back("1.2.47");
	v1.push_back("1.2.48");

	v2.push_back("1.2.45");
	v2.push_back("1.2.45");
	v2.push_back("1.2.45");

	bool bIncludes = includes(v1.begin(), v1.end(), v2.begin(), v2.end());

	if (bIncludes)
		printf("Hello, ...!\n");
Аватара пользователя
...
Частый Гость
Сообщения: 38
Зарегистрирован: 25 фев 2003, 10:13

Re: Что-то Вы недоговариваете, тов. Троеточкин!

Сообщение ... »

fooit писал(а):но eсли vector не отсортирован, то includes работать не будет.


Дык это понятно...
Ладно... бум копать...;-)

Thx!
Ответить