際際滷

際際滷Share a Scribd company logo
D2譟 襭蟲譟
3. ろ 螻




     譟一 : 20093539 譴
     譟一 : 20093447 蟾
         20093536 譴
         20113324 豕
             2010 譟一
螻殊殊
                                            譟一
   D2        譟一 : 譴          襭譟一 : 蟾, 豕                 貊 : 譴, 譟一
 螻殊蠍郁                                    13 8螳
                                I. 螻 
  郁規覈       ろ 螻



  郁規覦郁化       郁屋 襴ろ(Linked list)襯  ろ 螻一 蟲.




  谿瑚襭       谿瑚 URL   http://blog.naver.com/rudrbs3?Redirect=Log&logNo=50135830391



                               II. 螻 ろ
 豌讌                              2012 4 12 覈
る                            譯殊  危伎 覓 覿


          譟一レ 譴朱 螳 覓企ゼ 覿危螻, ろ 螻一 c襦 蟲 蟆 , 貉危
 伎
          螳 企れ朱 螻一 讌襯 襾殊 .




螻殊譴觜    企 ろ 螻 襦碁ゼ 企れ朱 り覃 譬讌 危危蟆 譴螻, 豌 
       襭螳 覿譟燕 螳 襦 讌  譬 .


 讌                               2012 4 17 


る         螳語 譟一  襭襯 襦 郁屋襴ろ語  危危 螳 螳譟.


          郁屋 襴ろ(Linked list) 螳


          襷 襴ろ碁 覦一伎  一危一 曙/螳 覿襴る  覲伎蠍一 り
           襭蟲譟一企.
 伎     曙/螳 覿襴 伎 朱 企 一危壱 譴 譴螳 螳 蟇壱蟇磯 曙
           一危磯れ 覦蟇磯 濠襖狩覩襦 譬讌 .

          一危磯れ 朱 企 朱伎 譴螳一危一 曙/ 一危一 濠 轟
          覦企企  豌襴   覦覯 覦襦 襷 襴ろ語企.
 蠏碁殊 覲企  一危郁概螳 一危磯ゼ ロ 螻糾螻 誤磯ゼ ロ 螻糾朱
蟲焔伎.

讀, 蟲譟一牡襯 伎 一危郁概螳螻 誤郁概螳  一危郁概螳朱 襷れ企螻

一危郁概螳 れ 一危 誤郁概螳 朱 伎 覃覈襴譯殊襯 レ貅
曙 轟  誤郁襷 覦蠖譯朱 襦 り 蟆企.



- 襷襴ろ語 レ螻 
襷 襴ろ碁 れ一危一 誤一殊襯 螳讌螻 蠍一 一 覃覈襴螳 
蟯.
 一危壱蠍 譟一 所 襭襯  覦 磯 朱襴ろ碁 讌 觚
襷襴ろ碁 讌 蟆一  .

讌襷 蠏殊螳 襴.
(覦一願 蟆曙 碁煙るゼ 牛 覯 蠏手ロ讌襷 襴ろ碁 豌 轟  誤
襯 螻 れ願狩.)



- 襷襴ろ語 焔
蠏殊(蟆) : 覦一 : O(c) Linked List : O(n)

覲蟆曙(曙//) : 覦一 : O(n) Linked List : O(c)
- 襷襴ろ語 譬襯
    讌蠍蟾讌 る 襷 襴ろ碁 誤磯ゼ 伎 襷襴ろ語企.

    讀, 轟朱 一危磯ゼ 伎 螻糾 覲危 覦企.

     瑚襦 蟆 狩襾殊り 譯 譴 蠏碁蠍 伎  轟
蠍讌伎朱 企朱 蟆企.

    蠏碁る 襷襴ろ碁ゼ 覃伎 狩襾殊るゼ 危碁Μ讌  覦覯 覓伎手. 
螳 蠏碁襦 覦一願骸 覩轟煙 螳ロる 企旧 覦襦 蠏瑚企. るジ蟇 覲 誤磯ゼ
ロ 螻糾 覦一伎碁煙るゼ ロ覃 朱, 覦一 襷襴ろ語企.

鏤
- LinkedList襯 蟲 


#include <stdio.h>

#include <malloc.h>




typedef char element;

//襷襴ろ 蟲.

//碁

typedef struct QNode{

     element data;

     struct QNode *link;

}QNode;

//譬..

typedef struct{

     QNode *front,*rear;

}LQueueType;

// 豐蠍壱.

LQueueType *createLinkedQueue(){

     LQueueType *LQ;

     LQ = (LQueueType *)malloc(sizeof(LQueueType));

     LQ->front = NULL;

     LQ->rear = NULL;

     return LQ;

}



int isEmpty(LQueueType *LQ){

     if (LQ->front == NULL){
return 1;

    }else{

        return 0;

    }

}

//曙

void enQueue(LQueueType *LQ, element item){

    QNode *newNode = (QNode *)malloc(sizeof(QNode));

    newNode->data = item;

    newNode->link = NULL;

    if(LQ->front == NULL){

        LQ->front = newNode;

        LQ->rear = newNode;

    }else{

        LQ->rear->link = newNode;

        LQ->rear = newNode;

    }

}

//

element deQueue(LQueueType *LQ){

    QNode *old = LQ->front;

    element item;

    if(isEmpty(LQ)) return 0;

    else{

        item = old->data;

        LQ->front = LQ->front->link;

        if(LQ->front == NULL)

             LQ->rear = NULL;

        free(old);

        return item;

    }

}

//

int del(LQueueType *LQ){

    QNode *old = LQ->front;

    if(isEmpty(LQ)) return 0;

    else{

        LQ->front = LQ->front->link;
if(LQ->front == NULL)       LQ->rear = NULL;

                 free(old);

                 return 1;

             }

         }

         //曙.

         element peek(LQueueType *LQ){

             element item;

             if(isEmpty(LQ)) return 0;

             else{

                 item = LQ->front->data;

                 return item;

             }

         }

         //豢.

         void printLQ(LQueueType *LQ){

             QNode *temp = LQ->front;

             printf("Q [");

             while(temp){

                 printf("%3c",temp->data);

                 temp = temp->link;

             }

             printf(" ]n");

         }




         郁屋 襴ろ語   蟲譟磯れ 朱 ろ 企至 伎 讌 螳 れ
 
         .


 讌                                         2012 4 19 覈
             ろ 螻一 企至 伎朱讌 伎 襯 螻, 豐 燕 ъ覦
る 
                                                蟲讌 覈詩.
         #include <stdio.h>
         #include <stdlib.h>
         #include <conio.h>

 豐
         typedef struct ListNode { //襴ろ 碁 蟲譟
         int coef; //螻
         int exp; //讌
         struct ListNode *link;
} ListNode;


typedef struct ListHeader { //襴ろ る 碁 蟲譟
int length;
ListNode *head;
ListNode *tail;
} ListHeader;


void init(ListHeader *plist) // 豐蠍壱, 螻給葦 る 碁
{
plist->length = 0; //length襯 0朱
plist->head = plist->tail = NULL; // head tail NULL朱
}


// 郁屋 襴ろ語 曙
// plist る襯 螳襴る 誤, coef 螻, exp 讌
void insert_node_last(ListHeader *plist, int coef, int exp)
{
//螻給葦 郁屋襴ろ 
ListNode *temp = (ListNode *)malloc(sizeof(ListNode));
if(temp == NULL){
exit(1);
}
temp->coef=coef;
temp->exp=exp;
temp->link=NULL;
if(plist->tail == NULL){
plist->head = plist->tail = temp;
}
else {
plist->tail->link = temp;
plist->tail = temp;
}
plist->length++; //length 讀螳
}


// ろ ъ
// ろ3 = ろ1 + ろ2
void poly_add(ListHeader *plist1, ListHeader *plist2, ListHeader *plist3)
{
ListNode *a = plist1->head;
ListNode *b = plist2->head;
int sum; //螻襯 伎 覲
while(a &&b){
if(a->exp == b->exp){ //讌螳 螳蟆曙
sum = a->coef + b-> coef;
list3, sum, a->exp);if( sum != 0 ) insert_node_last(p
a=a->link; b=b->link;
}
else if(a->exp >b->exp){ //ろ1 讌螳 願化
insert_node_last(plist3, a->coef, a->exp);
a=a->link;
}
else {
insert_node_last(plist3, b->coef, b->exp);
b=b->link;
}
}
// れ 覈 ろ3朱 覲旧
for(; a != NULL; a=a->link)
insert_node_last(plist3, a->coef, a->exp);
for(; b != NULL; b=b->link)
insert_node_last(plist3, b->coef, b->exp);
}


//ろ 豢
void poly_print(ListHeader *plist)
{
ListNode *p=plist->head;
for(;p;p=p->link){
if (p->coef == 0 || p->exp == 0){
printf(""); //螻 or 讌螳 0企 讌 
}else if (p->exp == 1){
printf("%d",p->coef); //讌螳 1企 螻襷 
}else{
printf("%dx^%d", p->coef, p->exp);
//螻 or 讌螳 0 覃 螻x^讌 襦 
if (p->link == NULL)
{
printf("");
}else{
printf(" + ");
}
}
}
printf("n");
}


int main(void)
{
ListHeader list1, list2, list3; //ろ ル 覲 


init(&list1);//init  語襦 螻給葦 襴ろ
init(&list2);
init(&list3);


int a,b; // 螻 讌襯 ル蠍  覲
char num;
//ろ1 ル 覿覿
printf("ろ1 (螻,讌) ロ語. (0 0 企 レ襭)n");
while (1)
{
scanf("%d %d",&a,&b);
if (a==0 &&b==0)
{
break;
}
insert_node_last(&list1, a, b);
}
printf("ろ1 : ");
poly_print(&list1); //ろ1 豢
printf("n");


//ろ2 ル 覿覿
printf("ろ2 (螻,讌) ロ語. (0 0 企 レ襭)n");
while (1)
{
scanf("%d %d",&a,&b);
if (a==0 &&b==0)
{
break;
}
insert_node_last(&list2, a, b);
}
printf("ろ2 : ");
poly_print(&list2); //ろ2 豢
printf("n");
// ろ3 = ろ1 + ろ2
         poly_add(&list1, &list2, &list3);


         printf("蟆郁骸 : ");
         poly_print(&list3); //ろ3 豢


         getch();
         }




         讌襯 觜蟲 螳朱 螻襦 觜讌螻 れ 讌襯 觜蟲   一螳 觜碁る 
螻殊譴觜
         ъ 蟲 觝 觜訣 朱 覃  蟆 螳讌襷 螻煙  麹 蟆
  
          襷 螳 襷 讌壱 譟郁 .

                                             蟆郁骸

         #include <iostream.h>
         #include <ctype.h>
         #define max 50


         /**** Term 企 **/
豕譬襦蠏碁   class Term
れ る   {
         public:
                    int coef;//螻
                    int exp; //讌
                    Term *link;     //襷
};
/*** Polynomial 企 ***/


class Polynomial
{
public:
          Term *first;      //Term企ろ 誤磯
          Polynomial()      //煙
          {
                   first=new Term;
                   first->link=first;
                   first->exp = -1;
          }
          void Attach(int, int);        //碁襯 覿企蟆
          void insert(char *string);          //string l伎 襴ろ語 k蟆.
          Polynomial Sum(const Polynomial& a, const Polynomial& b);     //ろ 
 蟆.
          Polynomial Sub(const Polynomial& a, const Polynomial& b);     //ろ 觜
 蟆.
          Polynomial Multi(const Polynomial& a, const Polynomial& b);   //ろ 螻
 蟆.
          float Evaluate(const Polynomial& c, float x);         //螻 蟆郁骸襯 豢ロ
 .
};


/*** 碁襯 覿企  ***/
void Polynomial::Attach(int c, int e)
{
          Term *t = new Term;           //覿 碁 t
          Term *k;
          k = first;
          t->coef = c; t->exp = e;


          while(k->link != first) //k螳 襷讌襷 碁襯 螳襴る襦.
          {
                   k = k->link;
          }
          k->link=t;
          t->link=first;   // 碁 襷螳 first襯 螳襴.
}


/*** string 碁 ロ  ***/
void Polynomial::insert(char *string)
{
    int c, e;
    while(1)
    {
               if(*string == '-')         //豌 リ 襷企 朱
               {
                        string++;
                        c = (int)(*string - 48);            //char 襦 覦蠖譴.
                        string++;
                        if(*string == '_')
                        {
                                    c = -c;//襴覃 襷企るゼ 覿.
                                    string++;
                        }
                        else if(isdigit(*string)) //襴 朱
                        {
                                    c = -((c*10) + ((int) (*string-48)));
                                    string+=2;
                        }
                        e = (int)(*string - 48);            //讌覿覿 襦 覦蠖譴
                        string++;
                        if(*string == '_') string++;
                        else if(isdigit(*string)) //讌螳 襴朱
                        {
                                    e = (e*10) + ((int) (*string-48));
                                    string+=2;
                        }
                        Attach(c, e);       //碁襯 覿.
               }
               else if(isdigit(*string)) //豌 リ 朱
               {
                        c = (int)(*string - 48);
                        string++;
                        if(*string == '_') string++;
                        else if(isdigit(*string)){ //襴朱
                                    c = (c*10) + ((int) (*string-48));
                                    string+=2;
                        }


                        e = ((int)(*string - 48));
                        string++;
                        if(*string == '_') string++;
                        else if(isdigit(*string)) //襴朱
{
                                   e = (e*10) + ((int) (*string-48));
                                   string+=2;
                          }
                          Attach(c, e);
                  }
                  //れ char螳 覓語 螻 襷企る 蟆曙
                  if(!isdigit(*string) && *string != '-') break;
       }
}


/ cout る襦 /
ostream& operator<<(ostream& os, Polynomial& x)
{
       Term *s = x.first -> link;
       while(1)
       {
                  if(s->link->exp == -1)        //螳豌伎 螳 企
                  {
                          os<<"("<<s->coef<<"x^"<<s->exp<<")";          //螻       讌襯
                                                                                    豢
                          s = s->link;     //れ碁
                          break;
                  }
                  else    // 
                  {
                          os<<"("<<s->coef<<"x^"<<s->exp<<")"<<"+";      /      /     螻
 讌襯 豢
                          s = s->link;     //れ碁
                  }
       }
       return os;
}


/* ろ 讌襯 觜蟲  ****/
char compare(int a, int b)
{
       if(a == b)
                  return '=';
       else if(a > b)
                  return '>';
       else
                  return '<';
}


/ ろ ъ  ***/
Polynomial Polynomial::Sum(const Polynomial& a, const Polynomial& b)
{
       Term *s = a.first->link;         //螳豌 a firstれ螳.
       Term *t = b.first->link;         //螳豌 b firstれ螳.
       int sum;
       Polynomial c;      //一郁屋螻手 れ願 螳豌
       while(1)
       {
                  switch(compare(s->exp, t->exp))
                  {
                  case'=': //讌螳 螳朱 螻襯 螻  螳 碁襯 襷.
                         if (t->exp == -1) return c;
                         sum = s->coef + t->coef;
                         if (sum) c.Attach(sum, t->exp);
                         s = s->link; t = t->link;
                         break;


                  case'<': //t螳 覃 t 碁襯 企
                         c.Attach(t->coef, t->exp);    //t襯 c 覿.
                         t = t->link;
                         break;


                  case'>': //s螳 覃 s 碁襯 企
                         c.Attach(s->coef, s->exp);    //s襯 c 覿.
                         s = s->link;
                         break;
                  }
       }
}


/ ろ 觝  ***/
Polynomial Polynomial::Sub(const Polynomial& a, const Polynomial& b)
{
       Term *s = a.first->link;         //螳豌 a firstれ螳.
       Term *t = b.first->link;         //螳豌 b firstれ螳.
       int sub;
       Polynomial c;      //一郁屋螻手 れ願 螳豌
       while(1)
       {
                  switch(compare(s->exp, t->exp))
{
                case'=': //讌螳 螳朱 螻襯 觜手  螳 碁襯 襷.
                         if (t->exp == -1) return c;
                         sub= s->coef - t->coef;
                         if (sub) c.Attach(sub, t->exp);
                         s = s->link; t = t->link;
                         break;


                case'<': //t螳 覃 t 碁襯 企
                         c.Attach(t->coef, t->exp);        //t襯 c 覿.
                         t = t->link;
                         break;


                case'>': //s螳 覃 s 碁襯 企
                         c.Attach(s->coef, s->exp);        //s襯 c 覿.
                         s = s->link;
                         break;
                }
       }
}


/**** ろ 螻煙  ***/
Polynomial Polynomial::Multi(const Polynomial& a, const Polynomial& b)
{
       Term *x           = a.first->link; //螳豌 a firstれ螳
       Term *y = b.first->link;         //螳豌 b firstれ螳
       Polynomial c;
       int coef_result, exp_result;        //螻郁屋螻手 れ願 覲
       while(x != a.first)              //x螳 first螳 覃
       {
                y = b.first->link;      //れ 豐蠍壱貅譯殊伎 .
                while(y != b.first)
                {
                         coef_result = x -> coef * y -> coef; //螻 螻燕.
                         exp_result = x -> exp + y -> exp;      //讌 .
                         c.Attach(coef_result, exp_result); //蟆郁骸襯 c 覿
                         y = y -> link; //y碁 企
                }
                x = x -> link; //x碁 企
       }
       return c;
}
/** れ x襯  螻郁屋螻 ****/
float Polynomial::Evaluate(const Polynomial& c, float f)
{
        Term *a = c.first->link;            //螳豌 c firstれ螳
        float s=0;        //豐蠍壱
        int eval_coef, eval_exp, i;           //一壱螳れ ロ 覲
        while(a != c.first)       //a螳 first螳 覃
        {
                  eval_coef = (int)a->coef;        //螻
                  eval_exp = (int)f;        //讌
                  for(i=1; i<a->exp; i++)
                  {
                          eval_exp *= (int)f;      //讌 螻
                  }
                  s += (float)eval_coef * (float)eval_exp; // 碁 一
                  a = a->link;    //碁 企
        }
        return s;          //一郁屋螻 襴
}


/ main  */
int main()
{
        Polynomial a,b,c;//螳豌 
        char string[max];          //ル 覓語 覦一企 襷.
        float f; //螻壱 x 螳


        cout<<endl<<"**れ螻 螳 朱 ろ ロ**"<<endl;
        cout<<"                   ex)       3x^3+2x^2+2    =   3_3_2_2_2_0"<<endl<<"
-23x^3+2x^1 = -23_3_2_1"<<endl<<endl;
        cout<<"豌覯讌 ろ ロ語: ";
        cin>>string;      //char
        a.insert(string); //a襴ろ 
        cout<<"豌覯讌  ろ: "<<a<<endl<<endl;


        cout<<"覯讌 ろ ロ語: ";
        cin>>string;
        b.insert(string); //b襴ろ 
        cout<<"覯讌  ろ: "<<b<<endl<<endl;


        cout<<"螻一  x 螳 l伎殊語: ";
        cin>>f; //螻危 x螳
cout<<"**"<<endl;
                  cout<<" 一  蟆郁骸 *"<<endl;
                  c = c.Sum(a,b); // 襷襴ろ ろ 
                  cout<<"O ろ ъ蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl;
                  c = c.Sub(a,b); // 襷 襴ろ碁ゼ 觝
                  cout<<"O ろ 觝蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl;
                  c = c.Multi(a,b);     // 襷 襴ろ碁ゼ 螻燕
                  cout<<"O ろ 螻煙蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl;


           cout<<"**"<<endl<<endl;
                  return 0;
           }


           /*        : 螳 襷 襴ろ語 碁 讌襯 觜蟲
                               貉危  襴願 磯 貅伎る語 伎
                               螳 螳 螳  螻 るゼ 碁襯
                              企 螻壱.

                觝     : ъ螻 襷谿螳讌襦 碁 讌襯 觜蟲 貉危
                               襴願 磯 貅伎る語 伎 螳
                              螳 螳  觜手 るゼ 碁襯 企 螻
                              壱.

                螻    : 豌 覯讌 襷襴ろ語 豌讌誤螻  覯讌 襷襴
                              ろ 碁 覿襯 螻燕 螻 豌 覯讌碁 襴
                              ろ語 讌誤螻  覯讌 襷襴ろ 碁 覯覿
                              襯 螻燕 螻 企 覦朱 螳 襷 襴
                              ろ瑚 襷讌襷  蟾讌 螻壱
               襷襴ろ語  覲企り  襷襴ろ瑚 る
           蟆   襷 襴ろ碁ゼ 伎. ろ 螻壱
           蟆 豌 豈 覲企伎 豈 るゼ 覿 企慨螻 危企
           讌襷 覓  襷. 蠏碁 豈 伎襦 覯渚蟆
           蟲 蟆 豎螻 磯Μ螳  覦朱 企るゼ 襷れ
            蟲. 豈 覲願 螳 蟲り  譟郁係襷 蟆
螻殊襯 襷豺覃伎
   
            貊 襷 給牛讌襷 豈 覦朱 讌 螻 貊
             譬  蠍郁 譬.
2012 Ds D2 03

More Related Content

What's hot (20)

Python Programming: Function
Python Programming: FunctionPython Programming: Function
Python Programming: Function
Chan Shik Lim
2012 Dm 07
2012 Dm 072012 Dm 07
2012 Dm 07
Jungyerin
2012 Ds 06
2012 Ds 062012 Ds 06
2012 Ds 06
Jungyerin
Python3 brief summary
Python3 brief summaryPython3 brief summary
Python3 brief summary
HoChul Shin
4. stack
4. stack4. stack
4. stack
Geunhyung Kim
襭蟲譟 Project5
襭蟲譟 Project5襭蟲譟 Project5
襭蟲譟 Project5
KoChungWook
=求メ+Operator+求≡= 20160409
=求メ+Operator+求≡= 20160409=求メ+Operator+求≡= 20160409
=求メ+Operator+求≡= 20160409
Yong Joon Moon
Ch05
Ch05Ch05
Ch05
Hankyo
螻襴讀螻 襭蟲譟
螻襴讀螻 襭蟲譟螻襴讀螻 襭蟲譟
螻襴讀螻 襭蟲譟
蠍 蟾
Startup JavaScript 4 - 螳豌
Startup JavaScript 4 - 螳豌Startup JavaScript 4 - 螳豌
Startup JavaScript 4 - 螳豌
Circulus
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Circulus
5. queue
5. queue5. queue
5. queue
Geunhyung Kim
=求メ+=戟求≡= 20160229
=求メ+=戟求≡= 20160229=求メ+=戟求≡= 20160229
=求メ+=戟求≡= 20160229
Yong Joon Moon
[Swift] Data Structure - Dequeue
[Swift] Data Structure - Dequeue[Swift] Data Structure - Dequeue
[Swift] Data Structure - Dequeue
Bill Kim
伎2.7 蠍一 螻給 蟆 襴
伎2.7 蠍一 螻給 蟆 襴伎2.7 蠍一 螻給 蟆 襴
伎2.7 蠍一 螻給 蟆 襴
Booseol Shin
Startup JavaScript 6 - , れ, 企
Startup JavaScript 6 - , れ, 企Startup JavaScript 6 - , れ, 企
Startup JavaScript 6 - , れ, 企
Circulus
Haskell study 13
Haskell study 13Haskell study 13
Haskell study 13
Nam Hyeonuk
Tensorflow
TensorflowTensorflow
Tensorflow
chs71
Python Programming: Function
Python Programming: FunctionPython Programming: Function
Python Programming: Function
Chan Shik Lim
2012 Dm 07
2012 Dm 072012 Dm 07
2012 Dm 07
Jungyerin
2012 Ds 06
2012 Ds 062012 Ds 06
2012 Ds 06
Jungyerin
Python3 brief summary
Python3 brief summaryPython3 brief summary
Python3 brief summary
HoChul Shin
襭蟲譟 Project5
襭蟲譟 Project5襭蟲譟 Project5
襭蟲譟 Project5
KoChungWook
=求メ+Operator+求≡= 20160409
=求メ+Operator+求≡= 20160409=求メ+Operator+求≡= 20160409
=求メ+Operator+求≡= 20160409
Yong Joon Moon
Ch05
Ch05Ch05
Ch05
Hankyo
螻襴讀螻 襭蟲譟
螻襴讀螻 襭蟲譟螻襴讀螻 襭蟲譟
螻襴讀螻 襭蟲譟
蠍 蟾
Startup JavaScript 4 - 螳豌
Startup JavaScript 4 - 螳豌Startup JavaScript 4 - 螳豌
Startup JavaScript 4 - 螳豌
Circulus
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Circulus
=求メ+=戟求≡= 20160229
=求メ+=戟求≡= 20160229=求メ+=戟求≡= 20160229
=求メ+=戟求≡= 20160229
Yong Joon Moon
[Swift] Data Structure - Dequeue
[Swift] Data Structure - Dequeue[Swift] Data Structure - Dequeue
[Swift] Data Structure - Dequeue
Bill Kim
伎2.7 蠍一 螻給 蟆 襴
伎2.7 蠍一 螻給 蟆 襴伎2.7 蠍一 螻給 蟆 襴
伎2.7 蠍一 螻給 蟆 襴
Booseol Shin
Startup JavaScript 6 - , れ, 企
Startup JavaScript 6 - , れ, 企Startup JavaScript 6 - , れ, 企
Startup JavaScript 6 - , れ, 企
Circulus
Haskell study 13
Haskell study 13Haskell study 13
Haskell study 13
Nam Hyeonuk
Tensorflow
TensorflowTensorflow
Tensorflow
chs71

Viewers also liked (7)

TELEGRAM Rahasia AS terkait Papua; 1967-1969
TELEGRAM Rahasia AS terkait Papua; 1967-1969TELEGRAM Rahasia AS terkait Papua; 1967-1969
TELEGRAM Rahasia AS terkait Papua; 1967-1969
Aves Fonataba
Doble moral panistaDoble moral panista
Doble moral panista
GATOlobato
Hematologia
HematologiaHematologia
Hematologia
Mercedes Vera
Siaf+basicoSiaf+basico
Siaf+basico
Centro de Capacitaci坦n y Desarrollo Global
2012 Ds B2 06
2012 Ds B2 062012 Ds B2 06
2012 Ds B2 06
chl132435
Able and available
Able and availableAble and available
Able and available
Robert Bird
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
SiteCafe
TELEGRAM Rahasia AS terkait Papua; 1967-1969
TELEGRAM Rahasia AS terkait Papua; 1967-1969TELEGRAM Rahasia AS terkait Papua; 1967-1969
TELEGRAM Rahasia AS terkait Papua; 1967-1969
Aves Fonataba
Doble moral panistaDoble moral panista
Doble moral panista
GATOlobato
2012 Ds B2 06
2012 Ds B2 062012 Ds B2 06
2012 Ds B2 06
chl132435
Able and available
Able and availableAble and available
Able and available
Robert Bird
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
仂仄仄亠亠从仂亠 仗亠亟仍仂亢亠仆亳亠 亟仍 从舒亠 仆舒 舒亰舒弍仂从 舒亶舒
SiteCafe

Similar to 2012 Ds D2 03 (20)

襭蟲譟 Project3
襭蟲譟 Project3襭蟲譟 Project3
襭蟲譟 Project3
KoChungWook
Project#3ろ一 Hwp
Project#3ろ一 HwpProject#3ろ一 Hwp
Project#3ろ一 Hwp
Kimjeongmoo
襭蟲譟3覲願
襭蟲譟3覲願襭蟲譟3覲願
襭蟲譟3覲願
KimChangHoen
2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05
seonhyung
覿伎る 覲 覦, From c++98 to c++11, 14
覿伎る 覲 覦, From c++98 to c++11, 14 覿伎る 覲 覦, From c++98 to c++11, 14
覿伎る 覲 覦, From c++98 to c++11, 14
覈 蟾
Boost殊企襴企蟲譟 20151111 讌
Boost殊企襴企蟲譟 20151111 讌Boost殊企襴企蟲譟 20151111 讌
Boost殊企襴企蟲譟 20151111 讌
JinTaek Seo
郁屋 襴ろ(蠍一)
郁屋 襴ろ(蠍一)郁屋 襴ろ(蠍一)
郁屋 襴ろ(蠍一)
Lee Geonhee
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Sang Goo Kwon
郁屋襴ろ 覦讌
郁屋襴ろ 覦讌郁屋襴ろ 覦讌
郁屋襴ろ 覦讌
jinho park
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
MinGeun Park
[NDC2016] TERA 覯 Modern C++ 蠍
[NDC2016] TERA 覯 Modern C++ 蠍[NDC2016] TERA 覯 Modern C++ 蠍
[NDC2016] TERA 覯 Modern C++ 蠍
Sang Heon Lee
Project#2襷 Hwp
Project#2襷 HwpProject#2襷 Hwp
Project#2襷 Hwp
Kimjeongmoo
Data Structure 3
Data Structure 3Data Structure 3
Data Structure 3
yonsei
[Swift] Data Structure - Linked List
[Swift] Data Structure - Linked List[Swift] Data Structure - Linked List
[Swift] Data Structure - Linked List
Bill Kim
C++17 Key Features Summary - Ver 2
C++17 Key Features Summary - Ver 2C++17 Key Features Summary - Ver 2
C++17 Key Features Summary - Ver 2
Chris Ohk
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
矧願
襭蟲譟 Project6
襭蟲譟 Project6襭蟲譟 Project6
襭蟲譟 Project6
KoChungWook
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungee
scor7910
襭蟲譟 Project3
襭蟲譟 Project3襭蟲譟 Project3
襭蟲譟 Project3
KoChungWook
Project#3ろ一 Hwp
Project#3ろ一 HwpProject#3ろ一 Hwp
Project#3ろ一 Hwp
Kimjeongmoo
襭蟲譟3覲願
襭蟲譟3覲願襭蟲譟3覲願
襭蟲譟3覲願
KimChangHoen
2012 Ds A1 05
2012 Ds A1 052012 Ds A1 05
2012 Ds A1 05
seonhyung
覿伎る 覲 覦, From c++98 to c++11, 14
覿伎る 覲 覦, From c++98 to c++11, 14 覿伎る 覲 覦, From c++98 to c++11, 14
覿伎る 覲 覦, From c++98 to c++11, 14
覈 蟾
Boost殊企襴企蟲譟 20151111 讌
Boost殊企襴企蟲譟 20151111 讌Boost殊企襴企蟲譟 20151111 讌
Boost殊企襴企蟲譟 20151111 讌
JinTaek Seo
郁屋 襴ろ(蠍一)
郁屋 襴ろ(蠍一)郁屋 襴ろ(蠍一)
郁屋 襴ろ(蠍一)
Lee Geonhee
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Kgc2006 Template Metaprogramming 伎 LuaTinker 蟲
Sang Goo Kwon
郁屋襴ろ 覦讌
郁屋襴ろ 覦讌郁屋襴ろ 覦讌
郁屋襴ろ 覦讌
jinho park
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
MinGeun Park
[NDC2016] TERA 覯 Modern C++ 蠍
[NDC2016] TERA 覯 Modern C++ 蠍[NDC2016] TERA 覯 Modern C++ 蠍
[NDC2016] TERA 覯 Modern C++ 蠍
Sang Heon Lee
Project#2襷 Hwp
Project#2襷 HwpProject#2襷 Hwp
Project#2襷 Hwp
Kimjeongmoo
Data Structure 3
Data Structure 3Data Structure 3
Data Structure 3
yonsei
[Swift] Data Structure - Linked List
[Swift] Data Structure - Linked List[Swift] Data Structure - Linked List
[Swift] Data Structure - Linked List
Bill Kim
C++17 Key Features Summary - Ver 2
C++17 Key Features Summary - Ver 2C++17 Key Features Summary - Ver 2
C++17 Key Features Summary - Ver 2
Chris Ohk
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
The C++ Programming Language 5 誤, 覦一, 蟲譟一牡
矧願
襭蟲譟 Project6
襭蟲譟 Project6襭蟲譟 Project6
襭蟲譟 Project6
KoChungWook
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungee
scor7910

2012 Ds D2 03

  • 1. D2譟 襭蟲譟 3. ろ 螻 譟一 : 20093539 譴 譟一 : 20093447 蟾 20093536 譴 20113324 豕 2010 譟一
  • 2. 螻殊殊 譟一 D2 譟一 : 譴 襭譟一 : 蟾, 豕 貊 : 譴, 譟一 螻殊蠍郁 13 8螳 I. 螻 郁規覈 ろ 螻 郁規覦郁化 郁屋 襴ろ(Linked list)襯 ろ 螻一 蟲. 谿瑚襭 谿瑚 URL http://blog.naver.com/rudrbs3?Redirect=Log&logNo=50135830391 II. 螻 ろ 豌讌 2012 4 12 覈 る 譯殊 危伎 覓 覿 譟一レ 譴朱 螳 覓企ゼ 覿危螻, ろ 螻一 c襦 蟲 蟆 , 貉危 伎 螳 企れ朱 螻一 讌襯 襾殊 . 螻殊譴觜 企 ろ 螻 襦碁ゼ 企れ朱 り覃 譬讌 危危蟆 譴螻, 豌 襭螳 覿譟燕 螳 襦 讌 譬 . 讌 2012 4 17 る 螳語 譟一 襭襯 襦 郁屋襴ろ語 危危 螳 螳譟. 郁屋 襴ろ(Linked list) 螳 襷 襴ろ碁 覦一伎 一危一 曙/螳 覿襴る 覲伎蠍一 り 襭蟲譟一企. 伎 曙/螳 覿襴 伎 朱 企 一危壱 譴 譴螳 螳 蟇壱蟇磯 曙 一危磯れ 覦蟇磯 濠襖狩覩襦 譬讌 . 一危磯れ 朱 企 朱伎 譴螳一危一 曙/ 一危一 濠 轟 覦企企 豌襴 覦覯 覦襦 襷 襴ろ語企.
  • 3. 蠏碁殊 覲企 一危郁概螳 一危磯ゼ ロ 螻糾螻 誤磯ゼ ロ 螻糾朱 蟲焔伎. 讀, 蟲譟一牡襯 伎 一危郁概螳螻 誤郁概螳 一危郁概螳朱 襷れ企螻 一危郁概螳 れ 一危 誤郁概螳 朱 伎 覃覈襴譯殊襯 レ貅 曙 轟 誤郁襷 覦蠖譯朱 襦 り 蟆企. - 襷襴ろ語 レ螻 襷 襴ろ碁 れ一危一 誤一殊襯 螳讌螻 蠍一 一 覃覈襴螳 蟯. 一危壱蠍 譟一 所 襭襯 覦 磯 朱襴ろ碁 讌 觚 襷襴ろ碁 讌 蟆一 . 讌襷 蠏殊螳 襴. (覦一願 蟆曙 碁煙るゼ 牛 覯 蠏手ロ讌襷 襴ろ碁 豌 轟 誤 襯 螻 れ願狩.) - 襷襴ろ語 焔 蠏殊(蟆) : 覦一 : O(c) Linked List : O(n) 覲蟆曙(曙//) : 覦一 : O(n) Linked List : O(c)
  • 4. - 襷襴ろ語 譬襯 讌蠍蟾讌 る 襷 襴ろ碁 誤磯ゼ 伎 襷襴ろ語企. 讀, 轟朱 一危磯ゼ 伎 螻糾 覲危 覦企. 瑚襦 蟆 狩襾殊り 譯 譴 蠏碁蠍 伎 轟 蠍讌伎朱 企朱 蟆企. 蠏碁る 襷襴ろ碁ゼ 覃伎 狩襾殊るゼ 危碁Μ讌 覦覯 覓伎手. 螳 蠏碁襦 覦一願骸 覩轟煙 螳ロる 企旧 覦襦 蠏瑚企. るジ蟇 覲 誤磯ゼ ロ 螻糾 覦一伎碁煙るゼ ロ覃 朱, 覦一 襷襴ろ語企. 鏤 - LinkedList襯 蟲 #include <stdio.h> #include <malloc.h> typedef char element; //襷襴ろ 蟲. //碁 typedef struct QNode{ element data; struct QNode *link; }QNode; //譬.. typedef struct{ QNode *front,*rear; }LQueueType; // 豐蠍壱. LQueueType *createLinkedQueue(){ LQueueType *LQ; LQ = (LQueueType *)malloc(sizeof(LQueueType)); LQ->front = NULL; LQ->rear = NULL; return LQ; } int isEmpty(LQueueType *LQ){ if (LQ->front == NULL){
  • 5. return 1; }else{ return 0; } } //曙 void enQueue(LQueueType *LQ, element item){ QNode *newNode = (QNode *)malloc(sizeof(QNode)); newNode->data = item; newNode->link = NULL; if(LQ->front == NULL){ LQ->front = newNode; LQ->rear = newNode; }else{ LQ->rear->link = newNode; LQ->rear = newNode; } } // element deQueue(LQueueType *LQ){ QNode *old = LQ->front; element item; if(isEmpty(LQ)) return 0; else{ item = old->data; LQ->front = LQ->front->link; if(LQ->front == NULL) LQ->rear = NULL; free(old); return item; } } // int del(LQueueType *LQ){ QNode *old = LQ->front; if(isEmpty(LQ)) return 0; else{ LQ->front = LQ->front->link;
  • 6. if(LQ->front == NULL) LQ->rear = NULL; free(old); return 1; } } //曙. element peek(LQueueType *LQ){ element item; if(isEmpty(LQ)) return 0; else{ item = LQ->front->data; return item; } } //豢. void printLQ(LQueueType *LQ){ QNode *temp = LQ->front; printf("Q ["); while(temp){ printf("%3c",temp->data); temp = temp->link; } printf(" ]n"); } 郁屋 襴ろ語 蟲譟磯れ 朱 ろ 企至 伎 讌 螳 れ . 讌 2012 4 19 覈 ろ 螻一 企至 伎朱讌 伎 襯 螻, 豐 燕 ъ覦 る 蟲讌 覈詩. #include <stdio.h> #include <stdlib.h> #include <conio.h> 豐 typedef struct ListNode { //襴ろ 碁 蟲譟 int coef; //螻 int exp; //讌 struct ListNode *link;
  • 7. } ListNode; typedef struct ListHeader { //襴ろ る 碁 蟲譟 int length; ListNode *head; ListNode *tail; } ListHeader; void init(ListHeader *plist) // 豐蠍壱, 螻給葦 る 碁 { plist->length = 0; //length襯 0朱 plist->head = plist->tail = NULL; // head tail NULL朱 } // 郁屋 襴ろ語 曙 // plist る襯 螳襴る 誤, coef 螻, exp 讌 void insert_node_last(ListHeader *plist, int coef, int exp) { //螻給葦 郁屋襴ろ ListNode *temp = (ListNode *)malloc(sizeof(ListNode)); if(temp == NULL){ exit(1); } temp->coef=coef; temp->exp=exp; temp->link=NULL; if(plist->tail == NULL){ plist->head = plist->tail = temp; } else { plist->tail->link = temp; plist->tail = temp; } plist->length++; //length 讀螳 } // ろ ъ // ろ3 = ろ1 + ろ2 void poly_add(ListHeader *plist1, ListHeader *plist2, ListHeader *plist3) { ListNode *a = plist1->head; ListNode *b = plist2->head; int sum; //螻襯 伎 覲
  • 8. while(a &&b){ if(a->exp == b->exp){ //讌螳 螳蟆曙 sum = a->coef + b-> coef; list3, sum, a->exp);if( sum != 0 ) insert_node_last(p a=a->link; b=b->link; } else if(a->exp >b->exp){ //ろ1 讌螳 願化 insert_node_last(plist3, a->coef, a->exp); a=a->link; } else { insert_node_last(plist3, b->coef, b->exp); b=b->link; } } // れ 覈 ろ3朱 覲旧 for(; a != NULL; a=a->link) insert_node_last(plist3, a->coef, a->exp); for(; b != NULL; b=b->link) insert_node_last(plist3, b->coef, b->exp); } //ろ 豢 void poly_print(ListHeader *plist) { ListNode *p=plist->head; for(;p;p=p->link){ if (p->coef == 0 || p->exp == 0){ printf(""); //螻 or 讌螳 0企 讌 }else if (p->exp == 1){ printf("%d",p->coef); //讌螳 1企 螻襷 }else{ printf("%dx^%d", p->coef, p->exp); //螻 or 讌螳 0 覃 螻x^讌 襦 if (p->link == NULL) { printf(""); }else{ printf(" + "); } } }
  • 9. printf("n"); } int main(void) { ListHeader list1, list2, list3; //ろ ル 覲 init(&list1);//init 語襦 螻給葦 襴ろ init(&list2); init(&list3); int a,b; // 螻 讌襯 ル蠍 覲 char num; //ろ1 ル 覿覿 printf("ろ1 (螻,讌) ロ語. (0 0 企 レ襭)n"); while (1) { scanf("%d %d",&a,&b); if (a==0 &&b==0) { break; } insert_node_last(&list1, a, b); } printf("ろ1 : "); poly_print(&list1); //ろ1 豢 printf("n"); //ろ2 ル 覿覿 printf("ろ2 (螻,讌) ロ語. (0 0 企 レ襭)n"); while (1) { scanf("%d %d",&a,&b); if (a==0 &&b==0) { break; } insert_node_last(&list2, a, b); } printf("ろ2 : "); poly_print(&list2); //ろ2 豢 printf("n");
  • 10. // ろ3 = ろ1 + ろ2 poly_add(&list1, &list2, &list3); printf("蟆郁骸 : "); poly_print(&list3); //ろ3 豢 getch(); } 讌襯 觜蟲 螳朱 螻襦 觜讌螻 れ 讌襯 觜蟲 一螳 觜碁る 螻殊譴觜 ъ 蟲 觝 觜訣 朱 覃 蟆 螳讌襷 螻煙 麹 蟆 襷 螳 襷 讌壱 譟郁 . 蟆郁骸 #include <iostream.h> #include <ctype.h> #define max 50 /**** Term 企 **/ 豕譬襦蠏碁 class Term れ る { public: int coef;//螻 int exp; //讌 Term *link; //襷
  • 11. }; /*** Polynomial 企 ***/ class Polynomial { public: Term *first; //Term企ろ 誤磯 Polynomial() //煙 { first=new Term; first->link=first; first->exp = -1; } void Attach(int, int); //碁襯 覿企蟆 void insert(char *string); //string l伎 襴ろ語 k蟆. Polynomial Sum(const Polynomial& a, const Polynomial& b); //ろ 蟆. Polynomial Sub(const Polynomial& a, const Polynomial& b); //ろ 觜 蟆. Polynomial Multi(const Polynomial& a, const Polynomial& b); //ろ 螻 蟆. float Evaluate(const Polynomial& c, float x); //螻 蟆郁骸襯 豢ロ . }; /*** 碁襯 覿企 ***/ void Polynomial::Attach(int c, int e) { Term *t = new Term; //覿 碁 t Term *k; k = first; t->coef = c; t->exp = e; while(k->link != first) //k螳 襷讌襷 碁襯 螳襴る襦. { k = k->link; } k->link=t; t->link=first; // 碁 襷螳 first襯 螳襴. } /*** string 碁 ロ ***/ void Polynomial::insert(char *string)
  • 12. { int c, e; while(1) { if(*string == '-') //豌 リ 襷企 朱 { string++; c = (int)(*string - 48); //char 襦 覦蠖譴. string++; if(*string == '_') { c = -c;//襴覃 襷企るゼ 覿. string++; } else if(isdigit(*string)) //襴 朱 { c = -((c*10) + ((int) (*string-48))); string+=2; } e = (int)(*string - 48); //讌覿覿 襦 覦蠖譴 string++; if(*string == '_') string++; else if(isdigit(*string)) //讌螳 襴朱 { e = (e*10) + ((int) (*string-48)); string+=2; } Attach(c, e); //碁襯 覿. } else if(isdigit(*string)) //豌 リ 朱 { c = (int)(*string - 48); string++; if(*string == '_') string++; else if(isdigit(*string)){ //襴朱 c = (c*10) + ((int) (*string-48)); string+=2; } e = ((int)(*string - 48)); string++; if(*string == '_') string++; else if(isdigit(*string)) //襴朱
  • 13. { e = (e*10) + ((int) (*string-48)); string+=2; } Attach(c, e); } //れ char螳 覓語 螻 襷企る 蟆曙 if(!isdigit(*string) && *string != '-') break; } } / cout る襦 / ostream& operator<<(ostream& os, Polynomial& x) { Term *s = x.first -> link; while(1) { if(s->link->exp == -1) //螳豌伎 螳 企 { os<<"("<<s->coef<<"x^"<<s->exp<<")"; //螻 讌襯 豢 s = s->link; //れ碁 break; } else // { os<<"("<<s->coef<<"x^"<<s->exp<<")"<<"+"; / / 螻 讌襯 豢 s = s->link; //れ碁 } } return os; } /* ろ 讌襯 觜蟲 ****/ char compare(int a, int b) { if(a == b) return '='; else if(a > b) return '>'; else return '<';
  • 14. } / ろ ъ ***/ Polynomial Polynomial::Sum(const Polynomial& a, const Polynomial& b) { Term *s = a.first->link; //螳豌 a firstれ螳. Term *t = b.first->link; //螳豌 b firstれ螳. int sum; Polynomial c; //一郁屋螻手 れ願 螳豌 while(1) { switch(compare(s->exp, t->exp)) { case'=': //讌螳 螳朱 螻襯 螻 螳 碁襯 襷. if (t->exp == -1) return c; sum = s->coef + t->coef; if (sum) c.Attach(sum, t->exp); s = s->link; t = t->link; break; case'<': //t螳 覃 t 碁襯 企 c.Attach(t->coef, t->exp); //t襯 c 覿. t = t->link; break; case'>': //s螳 覃 s 碁襯 企 c.Attach(s->coef, s->exp); //s襯 c 覿. s = s->link; break; } } } / ろ 觝 ***/ Polynomial Polynomial::Sub(const Polynomial& a, const Polynomial& b) { Term *s = a.first->link; //螳豌 a firstれ螳. Term *t = b.first->link; //螳豌 b firstれ螳. int sub; Polynomial c; //一郁屋螻手 れ願 螳豌 while(1) { switch(compare(s->exp, t->exp))
  • 15. { case'=': //讌螳 螳朱 螻襯 觜手 螳 碁襯 襷. if (t->exp == -1) return c; sub= s->coef - t->coef; if (sub) c.Attach(sub, t->exp); s = s->link; t = t->link; break; case'<': //t螳 覃 t 碁襯 企 c.Attach(t->coef, t->exp); //t襯 c 覿. t = t->link; break; case'>': //s螳 覃 s 碁襯 企 c.Attach(s->coef, s->exp); //s襯 c 覿. s = s->link; break; } } } /**** ろ 螻煙 ***/ Polynomial Polynomial::Multi(const Polynomial& a, const Polynomial& b) { Term *x = a.first->link; //螳豌 a firstれ螳 Term *y = b.first->link; //螳豌 b firstれ螳 Polynomial c; int coef_result, exp_result; //螻郁屋螻手 れ願 覲 while(x != a.first) //x螳 first螳 覃 { y = b.first->link; //れ 豐蠍壱貅譯殊伎 . while(y != b.first) { coef_result = x -> coef * y -> coef; //螻 螻燕. exp_result = x -> exp + y -> exp; //讌 . c.Attach(coef_result, exp_result); //蟆郁骸襯 c 覿 y = y -> link; //y碁 企 } x = x -> link; //x碁 企 } return c; }
  • 16. /** れ x襯 螻郁屋螻 ****/ float Polynomial::Evaluate(const Polynomial& c, float f) { Term *a = c.first->link; //螳豌 c firstれ螳 float s=0; //豐蠍壱 int eval_coef, eval_exp, i; //一壱螳れ ロ 覲 while(a != c.first) //a螳 first螳 覃 { eval_coef = (int)a->coef; //螻 eval_exp = (int)f; //讌 for(i=1; i<a->exp; i++) { eval_exp *= (int)f; //讌 螻 } s += (float)eval_coef * (float)eval_exp; // 碁 一 a = a->link; //碁 企 } return s; //一郁屋螻 襴 } / main */ int main() { Polynomial a,b,c;//螳豌 char string[max]; //ル 覓語 覦一企 襷. float f; //螻壱 x 螳 cout<<endl<<"**れ螻 螳 朱 ろ ロ**"<<endl; cout<<" ex) 3x^3+2x^2+2 = 3_3_2_2_2_0"<<endl<<" -23x^3+2x^1 = -23_3_2_1"<<endl<<endl; cout<<"豌覯讌 ろ ロ語: "; cin>>string; //char a.insert(string); //a襴ろ cout<<"豌覯讌 ろ: "<<a<<endl<<endl; cout<<"覯讌 ろ ロ語: "; cin>>string; b.insert(string); //b襴ろ cout<<"覯讌 ろ: "<<b<<endl<<endl; cout<<"螻一 x 螳 l伎殊語: "; cin>>f; //螻危 x螳
  • 17. cout<<"**"<<endl; cout<<" 一 蟆郁骸 *"<<endl; c = c.Sum(a,b); // 襷襴ろ ろ cout<<"O ろ ъ蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl; c = c.Sub(a,b); // 襷 襴ろ碁ゼ 觝 cout<<"O ろ 觝蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl; c = c.Multi(a,b); // 襷 襴ろ碁ゼ 螻燕 cout<<"O ろ 螻煙蟆郁骸: "<<c<<"="<<c.Evaluate(c, f)<<endl; cout<<"**"<<endl<<endl; return 0; } /* : 螳 襷 襴ろ語 碁 讌襯 觜蟲 貉危 襴願 磯 貅伎る語 伎 螳 螳 螳 螻 るゼ 碁襯 企 螻壱. 觝 : ъ螻 襷谿螳讌襦 碁 讌襯 觜蟲 貉危 襴願 磯 貅伎る語 伎 螳 螳 螳 觜手 るゼ 碁襯 企 螻 壱. 螻 : 豌 覯讌 襷襴ろ語 豌讌誤螻 覯讌 襷襴 ろ 碁 覿襯 螻燕 螻 豌 覯讌碁 襴 ろ語 讌誤螻 覯讌 襷襴ろ 碁 覯覿 襯 螻燕 螻 企 覦朱 螳 襷 襴 ろ瑚 襷讌襷 蟾讌 螻壱 襷襴ろ語 覲企り 襷襴ろ瑚 る 蟆 襷 襴ろ碁ゼ 伎. ろ 螻壱 蟆 豌 豈 覲企伎 豈 るゼ 覿 企慨螻 危企 讌襷 覓 襷. 蠏碁 豈 伎襦 覯渚蟆 蟲 蟆 豎螻 磯Μ螳 覦朱 企るゼ 襷れ 蟲. 豈 覲願 螳 蟲り 譟郁係襷 蟆 螻殊襯 襷豺覃伎 貊 襷 給牛讌襷 豈 覦朱 讌 螻 貊 譬 蠍郁 譬.