diff --git a/README.md b/README.md index 169e4cc..870cebb 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,9 @@ - 链表的增删 - 静态链表的增删 + - `栈与队列`及基本操作 + - 顺序栈的基本操作 + - To be continued... diff --git a/_02.栈与队列/01顺序栈_Stack.c b/_02.栈与队列/01顺序栈_Stack.c deleted file mode 100644 index b2e1ceb..0000000 --- a/_02.栈与队列/01顺序栈_Stack.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "stdio.h" -#include "stdlib.h" -#include "io.h" -#include "math.h" -#include "time.h" - -#define OK 1 -#define ERROR 0 -#define TRUE 1 -#define FALSE 0 -#define MAXSIZE 20 /* 洢ռʼ */ - -typedef int Status; -typedef int SElemType; /* SElemType͸ʵΪint */ - -/* ˳ջṹ */ -typedef struct -{ - SElemType data[MAXSIZE]; - int top; /* ջָ */ -}SqStack; - -Status visit(SElemType c) -{ - printf("%d ",c); - return OK; -} - -/* һջS */ -Status InitStack(SqStack *S) -{ - /* S.data=(SElemType *)malloc(MAXSIZE*sizeof(SElemType)); */ - S->top=-1; - return OK; -} - -/* SΪջ */ -Status ClearStack(SqStack *S) -{ - S->top=-1; - return OK; -} - -/* ջSΪջ򷵻TRUE򷵻FALSE */ -Status StackEmpty(SqStack S) -{ - if (S.top==-1) - return TRUE; - else - return FALSE; -} - -/* SԪظջij */ -int StackLength(SqStack S) -{ - return S.top+1; -} - -/* ջգeSջԪأOK򷵻ERROR */ -Status GetTop(SqStack S,SElemType *e) -{ - if (S.top==-1) - return ERROR; - else - *e=S.data[S.top]; - return OK; -} - -/* ԪeΪµջԪ */ -Status Push(SqStack *S,SElemType e) -{ - if(S->top == MAXSIZE -1) /* ջ */ - { - return ERROR; - } - S->top++; /* ջָһ */ - S->data[S->top]=e; /* ²Ԫظֵջռ */ - return OK; -} - -/* ջգɾSջԪأeֵOK򷵻ERROR */ -Status Pop(SqStack *S,SElemType *e) -{ - if(S->top==-1) - return ERROR; - *e=S->data[S->top]; /* ҪɾջԪظֵe */ - S->top--; /* ջָһ */ - return OK; -} - -/* ջ׵ջζջÿԪʾ */ -Status StackTraverse(SqStack S) -{ - int i; - i=0; - while(i<=S.top) - { - visit(S.data[i++]); - } - printf("\n"); - return OK; -} - -int main() -{ - int j; - SqStack s; - int e; - if(InitStack(&s)==OK) - for(j=1;j<=10;j++) - Push(&s,j); - printf("ջԪΪ"); - StackTraverse(s); - Pop(&s,&e); - printf("ջԪ e=%d\n",e); - printf("ջշ%d(1: 0:)\n",StackEmpty(s)); - GetTop(s,&e); - printf("ջԪ e=%d ջijΪ%d\n",e,StackLength(s)); - ClearStack(&s); - printf("ջջշ%d(1: 0:)\n",StackEmpty(s)); - - return 0; -} -