From bb6c3f9e785f03546b7dd56eeb79bbbe2bc0f487 Mon Sep 17 00:00:00 2001 From: wyy Date: Fri, 11 Apr 2014 15:25:03 +0800 Subject: [PATCH] add shrink for vector in DictTrie.hpp --- src/DictTrie.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/DictTrie.hpp b/src/DictTrie.hpp index 729364c..6d9ed04 100644 --- a/src/DictTrie.hpp +++ b/src/DictTrie.hpp @@ -80,6 +80,7 @@ namespace CppJieba { assert(!_getInitFlag()); _loadDict(filePath, _nodeInfos); + _shrink(_nodeInfos); _freqSum = _calculateFreqSum(_nodeInfos); assert(_freqSum); _minLogFreq = _calculateLogFreqAndGetMinValue(_nodeInfos, _freqSum); @@ -114,6 +115,7 @@ namespace CppJieba words.push_back(dictUnits[i].word); valuePointers.push_back(&dictUnits[i]); } + TrieType * trie = new TrieType(words, valuePointers); return trie; } @@ -172,6 +174,11 @@ namespace CppJieba return minLogFreq; } + void _shrink(vector& units) const + { + vector(units.begin(), units.end()).swap(units); + } + }; }