Êý×Ö±í´ïʽÇóÖµ³ÌÐò (c/c++)
Ò»¸ö¿ØÖÆÌ¨ÏµÄÊý×Ö±í´ïʽÇóÖµ³ÌÐò (c/c++)
Ô´´úÂë¼ûÏ£º
#include <stdio.h>
#include <string>
#include <iostream>
#include <stdlib.h>
#include <vector>
#include <stack>
using namespace std;
//ÉèÖÃÔËËã·ûÓÅÏȼ¶µÄËã·¨
int Priority(const string opera) // ÔËËã·ûÓÅÏȼ¶
{
if(opera=="+"||opera=="-")
{
return (1);
}
else if(opera=="*"||opera=="/")
{
return (2);
}
else
{
return (0);
}
}
void MiddlefixToPostfix(vector<string> &ivec1,vector<string> &ivec2)
//ÖÐ׺±í´ïʽµ½ºó׺±í´ïʽµÄת»»Ëã·¨,ivec2Öдæ·ÅµÄÊÇÖÐ׺±í´ïʽ£¬½«Æäת»»Îªºó׺±í´ïʽÐÎʽ´æ·Åµ½ivec2ÖС£
{
//¶¨ÒåÒ»¸ö´æ·Å²Ù×÷·ûµÄÕ»¶ÔÏó¡£
stack<string> operatorstk;
for(vector<string>::size_type i=0;i!=ivec2.size();++i)
{
if(ivec2[i]=="(")
{
operatorstk.push(ivec2[i]);
}
else if(ivec2[i]=="+"||ivec2[i]=="-"||ivec2[i]=="*"||ivec2[i]=="/")
{
if(operatorstk.empty())
{
operatorstk.push(ivec2[i]);
}
else
{
if(Priority(ivec2[i])<=Priority(operatorstk.top()))
{
while( operatorstk.empty()==false && operatorstk.top()!="(" )
{
ivec1.push_back(operatorstk.top());
operatorstk.pop();
}
operatorstk.push(ivec2[i]);
}
else
{
Ïà¹ØÎĵµ£º
http://man.lupaworld.com/content/develop/c&c++/c/c.htm
1. Èç¹û²ÎÊýÊÇÖ¸Õ룬ÇÒ½ö×÷ÊäÈëÓã¬ÔòÓ¦ÔÚÀàÐÍǰ¼Óconst£¬ÒÔ·ÀÖ¹¸ÃÖ¸ÕëÔÚº¯ÊýÌåÄÚ±»ÒâÍâÐÞ¸Ä
2. ÔÚº¯ÊýÌåµÄ“Èë¿Ú´¦”£¬¶Ô²ÎÊýµÄÓÐЧÐÔ½øÐмì²é
ÔÚº¯ÊýÌåµÄ“³ö¿Ú´¦”£¬¶ÔreturnÓï¾äµÄÕýÈ·ÐÔºÍЧÂʽøÐмì ......
extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒ ......
C/C++ development with the Eclipse Platform
Pawel Leszek
ÕªÒª:ͨ¹ý±¾ÎÄÄ㽫»ñµÃÈçºÎÔÚEclipseƽ̨ÉÏ¿ª·¢C/C++ÏîÄ¿µÄ×ÜÌåÈÏʶ¡£ËäÈ»EclipseÖ÷Òª±»ÓÃÀ´¿ª·¢JavaÏîÄ¿£¬µ«ËüµÄ¿ò¼ÜʹµÃËüºÜÈÝÒ×ʵÏÖ¶ÔÆäËû¿ª·¢ÓïÑÔµÄÖ§³Ö¡£ÔÚÕâÆªÎÄÕÂÀÄ㽫ѧ»áÈçºÎʹÓÃCDT(C/C++ Development Toolkit)£¬Ò»¸öÔÚEclipseƽ̨ÉÏ×î ......