資源簡介
做好的數據結構實驗-魔王語言-源碼加實驗報告
代碼片段和文件信息
#include?
//#include?
#include?
#include?
#include?
#include
typedef?char?T;
/*
?**************?Stack?**********
?*/
typedef?struct??_StackNode{
????T???????????????????data;
????struct??_StackNode??*next;
????struct??_StackNode??*pri;
}*StackNode;
typedef?struct??_Stack{
????int?????????size;
????StackNode???bottom;
????StackNode???top;
}*Stack;
/*
?*
?*/
/*
分配棧結點并賦值data
*/
inline?StackNode
stacknodemalloc(?T?data?)
{
????StackNode?p?=?(StackNode)malloc(sizeof(struct?_StackNode));
????assert(p);
????p->data?=?data;
????return?p;
}
/*
棧空嗎?
*/
inline?bool
stackempty(?Stack?stack?)
{
????return?(stack->size)?false:true;
}
/*
建一個棧并初始化
*/
Stack
stackcreat(void)
{
????Stack???p?=?(Stack)malloc(sizeof(struct?_Stack));
????assert(p);
????p->size=0;
????p->bottom=p->top=NULL;
????return?p;
}
/*
壓棧
*/
bool
stackpush(?Stack?stackT?data?)
{
????StackNode?node?=?stacknodemalloc(?data?);
????if(?stackempty(stack)?){
????????stack->bottom=stack->top=node;
????????node->pri=NULL;
????}else{
????????node->pri=stack->top;
????????stack->top->next=node;
????????stack->top=node;
????}
????++stack->size;
????return?true;
}
/*
出棧并返回data
*/
T
stackpop(?Stack?stack?)
{
????StackNode?p=stack->top->pri;
????T?t?=?stack->top->data;
????assert(?!?stackempty(stack)?);
????free(?stack->top?);
????if(?--stack->size?==?0?){
????????stack->bottom=stack->top?=?NULL;
????}else{
????????stack->top?=?p;
????}
????return?t;
}
/*
銷毀棧
*/
void
stackdestory(?Stack?stack?)
{
????while(?!stackempty(?stack?)?){
????????stackpop(?stack?);
????}
????free(?stack?);
}
/*
?*?********************************************
?*/
char?*map[]={“天?““地?““上?““一只?““鵝?““追?““趕““下?““蛋““恨?“
};
char?*
charmap(char?c)
{
????char?*p;
????switch(c){
????????case?‘t‘:
????????????p=map[0];
????????????break;
????????case?‘d‘:
????????????p=map[1];
????????????break;
????????case?‘s‘:
????????????p=map[2];
????????????break;
????????case?‘a‘:
????????????p=map[3];
????????????break;
????????case?‘e‘:
????????????p=map[4];
????????????break;
????????case?‘z‘:
????????????p=map[5];
????????????break;
????????case?‘g‘:
????????????p=map[6];
????????????break;
????????case?‘x‘:
????????????p=map[7];
????????????break;
????????case?‘n‘:
????????????p=map[8];
????????????break;
????????case?‘h‘:
????????????p=map[9];
????????????break;
????????default:
????????????p=NULL;
????????????break;
????};
????return?p;
}
int
main()
{
????char?input[256]*i_iter=input;
????char?output[256]*o_iter=output*p=o_iter;
????scanf(“%s“input);
????while(*i_iter){
????????if(*i_iter?==?‘B‘){
????????????strcpy(o_iter“tsaedsae“);
????????????o_iter=&p[strlen(p)];
????????????++i_iter;
????????}else{
????????????if(*i_iter>=‘a‘&&*i_iter<=‘z‘){
????????????????char?h=*i_iter++;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????196666??2007-07-03?23:19??實驗1\hh.exe
?????文件???????3641??2007-07-03?23:19??實驗1\h.cpp
?????文件?????102400??2008-12-14?12:47??實驗1\05級_數據結構_實驗1.doc
?????目錄??????????0??2007-07-03?23:49??實驗1
-----------?---------??----------?-----??----
???????????????302707????????????????????4
- 上一篇:ERP實施員工的績效考核
- 下一篇:串口操作類(justinio)
評論
共有 條評論