<?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=%EB%AA%B8%EC%A7%B1%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%2FInfixToPostfix</id>
	<title>몸짱프로젝트/InfixToPostfix - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EB%AA%B8%EC%A7%B1%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%2FInfixToPostfix"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%AA%B8%EC%A7%B1%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8/InfixToPostfix&amp;action=history"/>
	<updated>2026-05-14T20:37:17Z</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=%EB%AA%B8%EC%A7%B1%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8/InfixToPostfix&amp;diff=50472&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:29, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%AA%B8%EC%A7%B1%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8/InfixToPostfix&amp;diff=50472&amp;oldid=prev"/>
		<updated>2021-02-07T05:29:28Z</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;== C++ version ==&lt;br /&gt;
* 개발자 : 나휘동&lt;br /&gt;
* 스택을 이용&lt;br /&gt;
* 문제점 : 연산자가 출력 안 됨&lt;br /&gt;
&amp;#039;&amp;#039;stack.h&amp;#039;&amp;#039;&lt;br /&gt;
 #ifndef __STACK__H__&lt;br /&gt;
 #define __STACK__H__&lt;br /&gt;
 &lt;br /&gt;
 typedef struct{&lt;br /&gt;
 	char token;&lt;br /&gt;
 	int precedence;&lt;br /&gt;
 }Operator;&lt;br /&gt;
 &lt;br /&gt;
 const int LEN = 4;&lt;br /&gt;
 &lt;br /&gt;
 Operator operators[LEN] = {&lt;br /&gt;
 	{&amp;#039;+&amp;#039;, 12},&lt;br /&gt;
 	{&amp;#039;-&amp;#039;, 12},&lt;br /&gt;
 	{&amp;#039;*&amp;#039;, 13},&lt;br /&gt;
 	{&amp;#039;/&amp;#039;, 13}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 typedef struct{&lt;br /&gt;
 	Operator op;&lt;br /&gt;
 }Element;&lt;br /&gt;
 &lt;br /&gt;
 const int MAX = 10;&lt;br /&gt;
 Element stack[MAX];&lt;br /&gt;
 int top = -1;&lt;br /&gt;
 &lt;br /&gt;
 bool isFull()&lt;br /&gt;
 {&lt;br /&gt;
 	return (top &amp;amp;lt; MAX - 1 ? false : true);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool isEmpty()&lt;br /&gt;
 {&lt;br /&gt;
 	return (top &amp;amp;lt; 0 ? true : false);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Element push(int * top, Element aItem)&lt;br /&gt;
 {&lt;br /&gt;
 	if ( *top &amp;amp;lt; MAX - 1 )&lt;br /&gt;
 		stack[++*top]= aItem;&lt;br /&gt;
 	return stack[*top];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Element pop(int * top)&lt;br /&gt;
 {&lt;br /&gt;
 	if ( *top &amp;amp;lt; 0 )&lt;br /&gt;
 		return stack[*top];&lt;br /&gt;
 	return stack[--*top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;main.cpp&amp;#039;&amp;#039;&lt;br /&gt;
 #include &amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cstring&amp;amp;gt;&lt;br /&gt;
 #include &amp;quot;stack.h&amp;quot;&lt;br /&gt;
 void toPostFix(char aTerm[]);&lt;br /&gt;
 bool isOperand(char aToken);&lt;br /&gt;
 Operator toOperator(char aToken);&lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	char term[] = &amp;quot;2*3+4&amp;quot;;&lt;br /&gt;
 	toPostFix(term);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void toPostFix(char aTerm[])&lt;br /&gt;
 {&lt;br /&gt;
 	int len = strlen(aTerm);&lt;br /&gt;
 	Element income;&lt;br /&gt;
 	/*income.op.token = &amp;#039;b&amp;#039;;&lt;br /&gt;
 	income.op.precedence = 0;&lt;br /&gt;
 	push(top, income);&lt;br /&gt;
 	stack[MAX-1].op.token = &amp;#039;e&amp;#039;;&lt;br /&gt;
 	stack[MAX-1].op.precedence = 100;*/&lt;br /&gt;
 	for ( int i = 0 ; i &amp;amp;lt; len ; i++ )&lt;br /&gt;
 	{&lt;br /&gt;
 		if ( isOperand(aTerm[i]) )&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; aTerm[i];&lt;br /&gt;
 		else{&lt;br /&gt;
 			income.op = toOperator(aTerm[i]);&lt;br /&gt;
 			if ( income.op.precedence &amp;amp;lt; stack[top].op.precedence )&lt;br /&gt;
 				cout &amp;amp;lt;&amp;amp;lt; pop(&amp;amp;amp;top).op.token;&lt;br /&gt;
 			push(&amp;amp;amp;top, income);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	/*while (!isEmpty())&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; pop(&amp;amp;amp;top).op.token;*/&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool isOperand(char aToken)&lt;br /&gt;
 {&lt;br /&gt;
 	for ( int i = 0 ; i &amp;amp;lt; LEN ; i++ )&lt;br /&gt;
 		if ( operators[i].token == aToken )&lt;br /&gt;
 			return false;&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Operator toOperator(char aToken)&lt;br /&gt;
 {&lt;br /&gt;
 	for ( int i = 0 ; i &amp;amp;lt; LEN ; i++ )&lt;br /&gt;
 		if ( operators[i].token == aToken )&lt;br /&gt;
 			return operators[i];&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[몸짱프로젝트]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>