美文网首页
2020-09-01-栈实现

2020-09-01-栈实现

作者: walkerwyl | 来源:发表于2020-09-01 21:01 被阅读0次

layout: post
title: "栈实现"
date: 2020-09-01
author: "王玉松"
header-img: ""
categories: Data Structure
tags:
- 栈
- 顺序栈
- 链栈


栈实现

一、基本数据结构

栈的实现分成顺序栈和链栈两种形式

typedef struct Stack
{
  int top;
  int data[MAXSIZE];
}Stack;


typedef struct Node {
  int data;
  Node *next;
}Node, *LStack;

二、基本的数据结构操作

顺序栈和链栈的逻辑操作基本一致, 一些判断条件有所改变.
相比于顺序栈

  1. 链栈不存在判断栈满的操作;
  2. 链栈的存储密度有所下降;
  3. 链栈进行删除操作时需要释放申请的内存.
//顺序栈的基本操作
void InitStack(Stack *S);
void Push(Stack *S, int value);
void Pop(Stack *S, int *value);
void GetTop(Stack *S, int *value);
void StackLength(Stack *S, int *value);
void ClearStack(Stack *S);
int Empty(Stack *S);
void DisplayStack(Stack *S);

//链栈的基本操作
void InitStack(LStack S);
void Push(LStack S, int value);
void Pop(LStack S, int *value);
void GetTop(LStack S, int *value);
void DestroyStack(LStack S);
void StackLength(LStack S, int *value);
int Empty(LStack S);
void DisplayStack(LStack S);

三、从中获得的关于编写C代码的知识

  1. 链栈中的结点定义中使用 typedef struct Node {...}Node, *LStack;
    LStack 类型相当于 Node 型指针, 作为指针类型使用, 区别与一般的 Node.

  2. 需要综合函数的健壮性和可读性, 过多的错误处理会导致函数复杂.

四、相关代码

  1. 栈实现

相关文章

  • 2020-09-01-栈实现

    layout: posttitle: "栈实现"date: 2020-09-01author: "王玉松"head...

  • 2020-09-01-队列实现

    layout: posttitle: "队列实现"date: 2020-09-01author: "王玉松"hea...

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

  • Algorithm小白入门 -- 队列和栈

    队列和栈队列实现栈、栈实现队列单调栈单调队列运用栈去重 1. 队列实现栈、栈实现队列 队列是一种先进先出的数据结构...

  • Swift 队列&栈 相关操作

    栈 LIFO(后进先出) 队列 FIFO(先进先出) 队列与栈相互的实现 栈 - 队列实现 队列 - 栈实现 相关...

  • 2018-07-09顺序表实现栈

    栈的实现 ——直接用顺序表(列表list)进行 栈结构实现 栈可以用顺序表实现,也可以用链表实现。 栈的操作 St...

  • 38_两个有趣的问题

    关键词:通过栈实现队列、通过队列实现栈 0. 通过栈实现队列 用栈实现队列等价于用后进先出的特性实现先进先出的特性...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • 队列之-队列实现栈

    一、队列实现栈核心算法概述 之前已经描述过了用栈实现队列的功能,见栈系列之-实现队列,那么同样队列也可以用来实现栈...

  • 栈 Python实现

    栈的顺序表实现 栈的链接表实现

网友评论

      本文标题:2020-09-01-栈实现

      本文链接:https://www.haomeiwen.com/subject/uwlbsktx.html