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

Revision ru1, by 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;
}

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru1 Russian ironsoul 2016-09-28 17:01:39 624 Первая редакция (опубликовано)