LINUX.ORG.RU

Ответ на: комментарий от Ximen

Она либо печатает только уникальные линии

567
345

Либо наоборот:

1234

paxac
() автор топика

Самому парсить, сравнивать и выводить?

Zhbert ★★★★★
()
Ответ на: комментарий от silw

Этот вариант не подойдет, если порядок строк нельзя нарушать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Somniator

на случайном файле размером 66 мегабайт, сделанным из 10000000 случайных чисел до 1000000 команда

awk 'seen[$0]++ == 0'
работала 12 минут, а специализированная программа сделала тоже самое за 25 секунд
#include <set>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
	ifstream f (argv[1]);
	string str;
	set<string> s;
	int r = 0;
	while (getline(f, str))
	{
		if (s.find(str) == s.end())
		{
			s.insert(str);
			cout << str << '\n';
		}
	}
	return 0;
}

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.