数据结构---堆栈

#include<stdio.h>

#include<stdlib.h>

#define MAX 1000



void myPush(int *stack,int *ptr,int data)

{

    stack[++(*ptr)]=data;//如果写成stack[(*ptr)++]=data错误

}



int readMyStack(int *stack,int *ptr)

{

    return stack[*ptr];

}

void myPop(int *ptr)

{

    (*ptr)--;

}



int main()

{

    int mystack[MAX];

    int pointer=-1,i;

    myPush(mystack,&pointer,11);

    myPush(mystack,&pointer,10);

    myPush(mystack,&pointer,9);

    i=readMyStack(mystack,&pointer);

    printf("%d\n",i);

    myPop(&pointer);

    i=readMyStack(mystack,&pointer);

    printf("%d\n",i);

}

  以上为为用数组模拟的传pointer地址的

注意:myStack为指向int值的指针,函数传参,int *stack,stack也为指向int值的指针,向函数传递数组信息,stack[]直接操作数组

/*传pointer值*/

#include<stdio.h>

#include<stdlib.h>

#define MAX 1000



int myPush(int *stack,int ptr,int data)

{

    stack[++(ptr)]=data;

    return ptr;

}



int readMyStack(int *stack,int ptr)

{

    return stack[ptr];

}

int  myPop(int ptr)

{

    return (--ptr);

}



int main()

{

    int mystack[MAX];

    int pointer=-1,i;

    pointer=myPush(mystack,pointer,11);

    pointer=myPush(mystack,pointer,10);

    pointer=myPush(mystack,pointer,9);

    i=readMyStack(mystack,pointer);

    printf("%d\n",i);

    pointer=myPop(pointer);

    i=readMyStack(mystack,pointer);

    printf("%d\n",i);

}

  以上为用传值的方式

/*传结构*/

#include<stdio.h>

#include<stdlib.h>

#define MAX 1000

struct myStack{

    int pointer;

    int stack[MAX];

};



void myPush(struct myStack *s,int ptr,int data)

{

    s->pointer++;

    s->stack[s->pointer]=data;

}



int readMyStack(struct myStack *s,int ptr)

{

    return s->stack[s->pointer];

}

int  myPop(int ptr)

{

    return (--ptr);

}



int main()

{

    int i;

    struct myStack s1;

    s1.pointer=-1;

    myPush(&s1,s1.pointer,11);

    myPush(&s1,s1.pointer,10);

    myPush(&s1,s1.pointer,9);

    i=readMyStack(&s1,s1.pointer);

    printf("%d\n",i);

    s1.pointer=myPop(s1.pointer);

    i=readMyStack(&s1,s1.pointer);

    printf("%d\n",i);

}

  以上为传结构指针的方式

你可能感兴趣的:(数据结构)