论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
链式实现的堆栈

[科技论文网] http://www.scipapers.com    2007-12-01  

    链式实现的堆栈

    /*_############################################################################
      _##
      _##  链式实现的堆栈
      _##  Author: xwlee                        
      _##  Time: 2006.12.31 
      _##  Chang'an University
      _##  Development condition: win2003 Server+VC6.0
      _##
      _##  link_stack.cpp 文件
      _##########################################################################*/
    #include "stack.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>

    #define FALSE 0

    typedef struct STACK_NODE{
        STACK_TYPE  value;
        struct STACK_NODE *next;
    }stacknode;

    // 指向堆栈中第一个结点的指针,初始化为空.
    static stacknode *stack;


    // create_stack函数
    int create_stack( size_t size )
    {
        return 1;
    }

    // destroy_stack函数
    int destroy_stack( void )
    {
        while( !is_empty() )
            pop();
        return 1;
    }

    // push函数
    void push( STACK_TYPE value )
    {
        stacknode  *new_node;

        new_node = ( STACK_NODE * )malloc( sizeof(stacknode) );
        if( new_node == NULL)
        {
            printf("push is false.\n");
            exit(0);
        }
        new_node->value = value;
        new_node->next = stack;
        stack = new_node;
    }

    // pop函数
    void pop( void )
    {
        stacknode *first_node;
        if( is_empty() ) // 若堆栈已空,条件成立.
        {
            printf("stack already empty.\n");
            exit(0);
        }
        first_node = stack;
        stack = first_node->next;
        free( first_node );
    }

    // top函数
    STACK_TYPE top( void )
    {
        if( is_empty() ) // 若堆栈已空,条件成立.
        {
            printf("stack already empty.\n");
            exit(0);
        }
        return stack->value;
    }

    // is_empty函数
    int is_empty( void )
    {
        return stack == NULL;
    }

    // is_full函数
    int is_full( void )
    {
        return FALSE; // 由于链式堆栈不会填满,所以函数始终返回假
    }

        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
链式实现的堆栈
下面没有链接了     简单的遗传算法源代码
最新论文
·[程序设计]链式实现的堆栈
·[程序设计]简单的遗传算法源代码
·[程序设计] 红黑树源代码
·[程序设计]二叉搜索树BSTree源码
·[程序设计]画直线算法
·[程序设计]从一道笔试题谈算法优化
·[程序设计]希尔排序源代码
·[程序设计]Dijkstra算法完整实现源代码
·[程序设计]二叉树删除以及DSW算法C源代码
·[程序设计]MSSQL树算法实现
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com