栈的链式存储及常用操作
水水的实现一下链式栈。
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;typedef struct Sta
{int data ;struct Sta *next ;
}Stack ;void createStack(Stack *&s) //建立一个带头结点的链栈
{s = (Stack*)malloc(sizeof(Stack)) ;s->next = NULL ;printf("新栈创建成功\n") ;
}void destroyStack(Stack *&s) //销毁一个链栈
{Stack *p = s ;Stack *q = s->next ;while(q != NULL){free(p) ;p = q ;q = p->next ;}free(p) ;
}int isEmpty(Stack *s) //判定
{return (s->next == NULL) ;
}void pushStack(Stack *&s,int e) //将元素e进栈
{Stack *p ;p = (Stack*)malloc(sizeof(Stack)) ;p->data = e ;p->next = s->next ;s->next = p ;printf("%d已经入栈成功\n",e) ;
}void popStack(Stack *&s,int &e) //出栈操作,并且将出栈的元素保存到e中
{Stack *p = s->next ;e = p->data ;s->next = p->next ;free(p) ;printf("出栈成功\n") ;
}void getTop(Stack *&s,int &e)
{if(s->next == NULL){printf("栈为空,无法取得栈顶元素\n") ;return ;}else{e = s->next->data ;}
}int main()
{Stack *s ;createStack(s) ;pushStack(s,11) ;pushStack(s,12) ;if(isEmpty(s)){printf("栈为空\n") ;}else{printf("栈不为空\n") ;}int popNum ;popStack(s,popNum) ;printf("出栈的元素为%d\n",popNum) ;int top ;getTop(s,top) ;printf("栈顶元素是%d\n",top) ;
}
转载于:https://www.cnblogs.com/emoji/p/4436863.html
栈的链式存储及常用操作相关推荐
- 链式存储mysql_链栈:栈的链式存储结构
前面讲完了栈的顺序存储结构,我们现在来看看栈的链式存储结构,简称为链栈. 链栈是没有附加头结点的运算受限的单链表.栈顶指针就是链表的头指针. 栈是用栈顶来做插入和删除操作,那么对于链栈的栈顶放在链表的 ...
- 3.3 栈的链式存储结构
<?php header("content-type:text/html;charset=utf-8"); /*** 栈的链式存储结构的基本操作**包括* 1.初始化 __c ...
- 栈的链式存储结构及实现
今天学习栈的链式存储结构. 链式存储结构最大的好处就是没有空间的限制,通过指针指向将结点像一个链子一样把结点链接,那么栈的同样可以用于链式存储结构. 栈的链式存储结构,简称为链栈.想想看,栈只是栈顶来 ...
- 数据结构与算法——栈的链式存储结构及实现
目录 前言 一.栈的链式储存结构 二.栈的链式储存结构的操作 2.1 进栈操作 2.2 出栈操作 总结 前言 讲完了栈的顺序储存结构,我们现在来看看栈的链式存储结构,简称为链栈. 由于单链表中 ...
- 关于栈的链式存储结构
之前在创建栈的链式存储结构时,想当然误以为栈的top指针会指向链表的尾结点,在创建链表结构时的写法误写为: for(j=0;j<i;j++){ temp=(struct Node ...
- 3.2_栈_链式存储结构(链表形式)
[链式存储结构] 栈的链式存储结构,简称链栈. [具体实现] package com.Higgin.LinkStack;import java.util.EmptyStackException;/** ...
- 栈的链式存储框架搭建
栈的链式存储 链式栈的节点 typedef struct LINKNODE{struct LINKNODE* next; }Linknode; 链式栈 typedef struct LINKSTACK ...
- 栈的链式存储结构(企业级链表)
#include<stdio.h> #include<stdlib.h> #include<string.h> struct StackNode{struct St ...
- 数据结构(五)---栈的链式存储的实现---java版
------------------------------------------------链栈的节点设置--------------------------------------------- ...
最新文章
- 如何给h2添加php标记,如何为所有h2标签添加数字 - WordPress - srcmini
- vim - 查找替换
- c/c++中const用法总结
- spring学习(44):p名称空间注入
- Python之list对应元素求和
- TED演讲:数据科学家最重要的技能是什么
- 线程安全的map_面试必问-几种线程安全的Map解析
- 2月份全球制造业PMI为55.6% 已连续8个月保持在50%以上
- 表单中的日期 字符串和Javabean中的日期类型的属性自动转换
- 如何取到两个日期中的每一天,并且打印出来
- 奈飞文化手册_2019春节读书笔记【奈飞文化手册】
- mac使用nvm安装node进行多版本管理
- noip2017棋盘(超级详细)
- HTML分页符怎么设置,HTML中的分页符
- matlab学习笔记 repmat函数与kron函数之区别
- http协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么?列举常见错误码及含义
- Android中使用webview加载网页上的按钮点击失效
- 思科 Packet Tracer 实验六 路由协议基本配置
- 零基础入门金融风控-贷款违约预测_Task1
- Kubernetes 企业集群建设规划