C語言魔王語言解釋

2021-08-10 16:31:18 字數 1897 閱讀 8511

由於是小白,所以剛開始沒有用已有的出棧與入棧函式以及出佇列與入佇列函式,而是自己寫的。如果**不對的話,歡迎指正。

#include #include #include #define stack_init_size 100

#define stackincerement 10

//棧的順序儲存表示 

typedef struct sqstack;         

//單鏈佇列--佇列的鏈式儲存表示 

typedef struct qnodeqnode, *queueptr;

typedef struct linkqueue;

// 棧的操作 

int initstack (sqstack *s);

int push (sqstack *s, char c);

int pop (sqstack *s,char *c);

// 佇列的操作 

int initqueue (linkqueue *q);

int destroyqueue (linkqueue *q);

int enqueue (linkqueue *q, char c);

int dequeue (linkqueue *q, char *c);

// 其它操作 

int match (char *str);  // 判斷括號是否匹配或者無括號 

void medal (sqstack *s, sqstack *s1); // 最後處理 

int main ()

; sqstack devil, s1; 

linkqueue temp;

initstack (&devil);

initstack (&s1);

initqueue (&temp);

scanf("%s", str);

if ( match(str) )

else   break;

}while (temp.front->next != temp.rear)

dequeue (&temp, &ch1);

push (&s1, ch1);}}

medal (&devil, &s1);

while ( pop(&devil,&ch) )

printf ("%c", ch);

free(devil.base);

free(s1.base);

destroyqueue(&temp);

}return 0;

} // 對棧的操作 

int initstack (sqstack *s) 

int push (sqstack *s, char c)

* s->top ++ = c;

return 1; 

}int pop (sqstack *s,char *c)

// 對佇列的操作 

int initqueue (linkqueue *q)

int enqueue (linkqueue *q, char c)

int dequeue (linkqueue *q, char *c)

int destroyqueue (linkqueue *q)

return 1;

} //檢查括號是否匹配的函式實現 

int match (char *str)       //函式開始 

}if (q.base == q.top && judge)

else if (judge == 0)

return 1; 

else 

} //函式結束 

// 最後處理 

void medal (sqstack *s, sqstack *s1)

}  }

魔王語言解釋

問題描述 有乙個魔王總是使用自己的一種非常精練而抽象的語言講話,沒人能聽的懂。但他的語言是可以逐步解釋 能懂得語言的,因為他的語言是由以下兩種形式的規則由人的語言逐 步抽象上去的 1 1 2.n 2 1 2.n n n 1.1 在這兩種形式中,從左到右均表示解釋 從右到左表示抽象。試寫乙個魔王解釋系...

資料結構 魔王語言解釋

一 需求分析 1 有乙個魔王總是使用自己的一種非常精煉而抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋 能聽懂的語言,因為他的語言是由以下兩種形式的規則由人的語言逐步抽象上去的 1 1 2 m 2 1 2 n n n 1 1 在這兩種形式中,從左到右均表示解釋。試寫乙個魔王語言的解釋系統,...

棧和佇列 魔王語言解釋

1 作業系統 windows 10 x64 1 首先實現棧和佇列的基本操作,棧和佇列都採用順序儲存結構,佇列通過取模形成迴圈佇列。class stack status push char a status pop char a class queue status enqueue char e st...