<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=StringOfCPlusPlus%2F%EC%84%B8%EC%97%B0</id>
	<title>StringOfCPlusPlus/세연 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=StringOfCPlusPlus%2F%EC%84%B8%EC%97%B0"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=StringOfCPlusPlus/%EC%84%B8%EC%97%B0&amp;action=history"/>
	<updated>2026-05-14T20:39:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=StringOfCPlusPlus/%EC%84%B8%EC%97%B0&amp;diff=39472&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=StringOfCPlusPlus/%EC%84%B8%EC%97%B0&amp;diff=39472&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= 프로그래밍을 하며 =&lt;br /&gt;
심화문제를 트리루 짤려구 하는데 잘안되네.......&lt;br /&gt;
역시 포인터는 헷갈려, 분명 사소한데서 잘못되구 있는게 분명한데.......언넝 에러를 잡아야할텐에......&lt;br /&gt;
&lt;br /&gt;
= 소스 =&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 struct node{&lt;br /&gt;
 	node * left_child;&lt;br /&gt;
 	char data_word[30];&lt;br /&gt;
 	node * right_child;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class SearchWord&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	node * head;&lt;br /&gt;
 	node * temphead;&lt;br /&gt;
 	int count;&lt;br /&gt;
 public:&lt;br /&gt;
 	SearchWord();&lt;br /&gt;
 	void ReadWord();&lt;br /&gt;
 	node * Search(char *, node *);&lt;br /&gt;
 	void InsertWord(char *, node *);&lt;br /&gt;
 	void Display(node *);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 SearchWord::SearchWord()&lt;br /&gt;
 {&lt;br /&gt;
 	count = 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //파일에 있는 단어를 읽어온다&lt;br /&gt;
 void SearchWord::ReadWord()&lt;br /&gt;
 {&lt;br /&gt;
 	ifstream file;&lt;br /&gt;
 	char line[300];&lt;br /&gt;
 	char * word = NULL;&lt;br /&gt;
 		&lt;br /&gt;
 	file.open(&amp;quot;test.txt&amp;quot;);&lt;br /&gt;
 	while(!file.eof())&lt;br /&gt;
 	{&lt;br /&gt;
 		file.getline(line, 300);&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; line &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 		word = strtok(line, &amp;quot; .&amp;quot;);&lt;br /&gt;
 		count ++;&lt;br /&gt;
 		//단어가 트리에 있는지 검사&lt;br /&gt;
 		temphead = head;		&lt;br /&gt;
 		temphead = Search(word, temphead);&lt;br /&gt;
 		//단어가 트리에 없으면 단어를 트리에 삽입&lt;br /&gt;
 		if(temphead == NULL)&lt;br /&gt;
 		{&lt;br /&gt;
 			temphead = head;&lt;br /&gt;
 			InsertWord(word, temphead);&lt;br /&gt;
 		}&lt;br /&gt;
 		//단어가 트리에 있으면 &lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 		}&lt;br /&gt;
 		while(word)&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; word &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 			word = strtok(0, &amp;quot; .&amp;quot;);&lt;br /&gt;
 			count++;&lt;br /&gt;
 			//단어가 트리에 있는지 검사&lt;br /&gt;
 			temphead = head;		&lt;br /&gt;
 			temphead = Search(word, temphead);&lt;br /&gt;
 			//단어가 트리에 없으면 단어를 트리에 삽입&lt;br /&gt;
 			if(temphead == NULL)&lt;br /&gt;
 			{&lt;br /&gt;
 				temphead = head;&lt;br /&gt;
 				InsertWord(word, temphead);&lt;br /&gt;
 			}&lt;br /&gt;
 			//단어가 트리에 있으면 &lt;br /&gt;
 			else&lt;br /&gt;
 			{&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;count : &amp;quot; &amp;amp;lt;&amp;amp;lt; count &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //단어가 트리에 있으면 현재 노드반환, 없으면 NULL반환&lt;br /&gt;
 node * SearchWord::Search(char * word, node * root)&lt;br /&gt;
 {&lt;br /&gt;
 	if(!root) return NULL;&lt;br /&gt;
 	if(!strcmp(word, root-&amp;amp;gt;data_word)) return root;&lt;br /&gt;
 	if(strcmp(word, root-&amp;amp;gt;data_word) &amp;amp;lt; 0) return Search(word, root-&amp;amp;gt;left_child);&lt;br /&gt;
 	return Search(word, root-&amp;amp;gt;right_child);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void SearchWord::InsertWord(char * word, node * root)&lt;br /&gt;
 {&lt;br /&gt;
 	if(!root)&lt;br /&gt;
 	{&lt;br /&gt;
 		head = new node;&lt;br /&gt;
 		strcpy(head-&amp;amp;gt;data_word, word);&lt;br /&gt;
 		head-&amp;amp;gt;left_child = head-&amp;amp;gt;right_child = NULL;&lt;br /&gt;
 	}&lt;br /&gt;
 	else&lt;br /&gt;
 	{&lt;br /&gt;
 		while(root != NULL)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(strcmp(word, root-&amp;amp;gt;data_word) &amp;amp;lt; 0)&lt;br /&gt;
 				root = root-&amp;amp;gt;left_child;&lt;br /&gt;
 			else&lt;br /&gt;
 				root = root-&amp;amp;gt;right_child;			&lt;br /&gt;
 		}&lt;br /&gt;
 		node * temp = new node;&lt;br /&gt;
 		strcpy(temp-&amp;amp;gt;data_word, word);&lt;br /&gt;
 		temp-&amp;amp;gt;left_child = temp-&amp;amp;gt;right_child = NULL;&lt;br /&gt;
 		root = temp;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void SearchWord::Display(node * tree)&lt;br /&gt;
 {&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; tree-&amp;amp;gt;data_word &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	SearchWord word;&lt;br /&gt;
 &lt;br /&gt;
 	SearchWord();&lt;br /&gt;
 	word.ReadWord();&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
See Also [[CppStudy_2002_2]]&lt;br /&gt;
----&lt;br /&gt;
[[StringOfCPlusPlus]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>