蒄实验二栈、队列的实现及应用羃袀实验课程名:数据结构与算法蚅专业班级:网络工程(二)班学号:201240420224姓名:李后浪芃实验时间::K4-203指导教师:邓丹君羃羇一、实验目的和要求莇1、掌握栈和队列的顺序存储结构和链式存储结构,、掌握栈和队列的特点,、、实验内容袅1、:膂(1)源代码:蝿#include<>薇#include<>袄#defineSTACK_INIT_SIZE100节#defineSTACKINCREMENT10膀#defineMAXQSIZE100肅#defineOK1薃#defineERROR0莂莇/*?¨ò?SElemType?aint?ò±eμ?×??¨ò?ààDí*/螇typedefintSElemType;莂蒂/*?3Dò??μ?′?′¢ààDí*/螈typedefstruct //definestructureSqStack()膄{SElemType*base;莄SElemType*top;薂intstacksize;膈}SqStack;袆/*á′ê???μ?′?′¢ààDí*/膃typedefstructSNode //definestructureLinkStack薂{SElemTypedata;蕿structSNode*next;莄}SNode,*LinkStack;羂蚂/*???a???1è?á′ê???*/羀intPush_L(LinkStack&top,SElemTypee) //Push_L()sub-function肆{SNode*q;羅q=(LinkStack)malloc(sizeof(SNode));螁if(!q)肇{printf("Overfolow!Allocatespacefailure!\n");螈 return(ERROR);螄}袁q->data=e;蒈q->next=top->next;芆top->next=q;薃return(OK);羁}//Push_L()end衿羈/*11?ì???3Dò??*/节intInitStack(SqStack&S) //InitStack()sub-function肁{=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));芀if(!)蒅{莅 printf("Allocatespacefailure!\n");膁 return(ERROR);蒇}=;=STACK_INIT_SIZE;膁return(OK);袇}//InitStack()end薅袂intPush(SqStack&S,SElemTypee) //Push()sub-function芁{if(->)芈{=(SElemType*)realloc(,(+芇 STACKINCREMENT*sizeof(SElemType)));袅 if(!)莁 {printf("Overflow!\n");虿 return(ERROR);螅 }蚄 =+;蒀 +=STACKINCREMENT;肀}蒇*++=e;蒃return(OK);薀}//Push()end膇voidmain()羅{膂 SqStacks;蚀 intn,i;薈SElemTypee;蚇 if(InitStack(s))芅 printf("sucesstocreateastack.\n");螀 elseprintf("failtocreateastack.\n");罿 printf("pleaseentertheamountofSqstack:\n");肄 scanf("%d",&n);羄 for(i=1;i<=n;i++)螀 {莀 printf("pleaseenterthenumberofthe%doftheSqstack",i);袆 scanf("%d",&e);螂 Push(s,e);袀 }螀 printf("theElemTypeoftheSqstack:");芄 for(i=1;i<=n;i++)袅 printf("%d\t",[i-1]);羀 printf("\n");袇 LinkStackS1=(LinkStack)malloc(sizeof(SNode));羆 intm,j;薄 SElemTypee1;肀 pr
李后浪实验二 来自淘豆网m.daumloan.com转载请标明出处.