首页 > 代码库 > 栈的链式结构表示与实现——自己写数据结构

栈的链式结构表示与实现——自己写数据结构

    今天给大家介绍栈的链式结构,用dev-c++4.9.9.2调试通过,少废话直接上代码:

数据结构体存放文件stacklist.h文件如下

#ifndef _STACKLIST_H_#define _STACKLIST_H_typedef struct _Node{    int data;        struct _Node *pre;    struct _Node *next;}Node,*pNode;typedef struct _Stack_Header{    struct _Node *botton;    struct _Node *top;    int  size;    }Stack_Header,*pStack_Header;pStack_Header init_stack_list(void);pNode push_node(pStack_Header plist,int data);pNode pop_node(pStack_Header plist);int print_stack_list(pStack_Header plist);#endif


函数存放文件stacklist.c

/*******************************时间:2014.12.12作者:XIAO_PING_PING内容:栈的链式数据结构功能:学习些数据结构       ********************************/#include <string.h>#include <stdlib.h>#include <conio.h>#include "stacklist.h"/*初始化一个堆栈链表*/pStack_Header init_stack_list(void){    pStack_Header plist;    pNode p;        plist = (Stack_Header *)malloc(sizeof(Stack_Header));    plist->botton = NULL;    plist->top = NULL;    plist->size = 0;        return plist;              }/*往堆栈里面添加节点,数据data*/pNode push_node(pStack_Header plist,int data){    pNode p;        p = (Node *)malloc(sizeof(Node));    p->data = http://www.mamicode.com/data;>


测试文件test.c

#include <string.h>#include <stdlib.h>#include <conio.h>#include "stacklist.h" int main(){    pStack_Header plist;    plist = init_stack_list();        push_node(plist,13);    push_node(plist,1);    push_node(plist,232);    push_node(plist,143);    print_stack_list(plist);          pop_node(plist);      pop_node(plist);      pop_node(plist);      //pop_node(plist);      //pop_node(plist);     printf("\n");    print_stack_list(plist);           getch();}


运行结果如下图:

 

栈的链式结构表示与实现——自己写数据结构