Добавление в бор

Правка ru1, от ironsoul, 2016-09-28 17:01:39

Почему эта реализация добавления в бор работает :

void insert(string word) {
	node *cnt = root;
	for (int i = 0; i < int(word.size()); i++) {
		char ch = word[i];
		if (cnt -> next[ch - 'a'] == nullptr) {
			cnt -> next[ch - 'a'] = new node();
		}
		cnt = cnt -> next[ch - 'a'];
	}
	cnt -> num += 1;
}

А эта не работает :

void insert(string word) {
	node *cnt = root;
	for (int i = 0; i < int(word.size()); i++) {
		char ch = word[i];
		cnt = cnt -> next[ch - 'a'];
		if (cnt == nullptr) {
			cnt = new node();
		}
	}
	cnt -> num += 1;
}

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru1 Русский ironsoul 2016-09-28 17:01:39 624 Первая редакция (опубликовано)