사전 트 리 템 플 릿 (체인)
3103 단어 데이터 구조
struct Node
{
int cnt;
Node *next[26];
bool exist;
Node()
{
cnt = 0;
memset(next,0,sizeof(next));
exist = false;
}
}*rt;// rt = new Node;
void Insert(string str)//
{
int a;
Node *p = rt;
int i = 0;
while(str[i]!='\0')
{
a = str[i] - 'a';
if(p->next[a] == NULL)
{
p->next[a] = new Node;
p->next[a]->cnt = 0;
}
p = p->next[a];
p->cnt += 1;
++i;
}
p->exist = true;
}
int QueryCnt(string str)// (str)
{
int a;
Node *p = rt;
int i = 0;
while(str[i] && p!=NULL)
{
a = str[i] - 'a';
p = p->next[a];
++i;
}
if(p == NULL)
return 0;
else
return p->cnt;
}
bool Queryword(string str)// str
{
int a;
Node *p = rt;
int i = 0;
while(str[i] && p!=NULL)
{
a = str[i] - 'a';
p = p->next[a];
++i;
}
if(p == NULL)
return 0;
if(p->exist==false)
return 0;
return true;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.