博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈实现(数据结构---数组,链表 C实现)
阅读量:4047 次
发布时间:2019-05-25

本文共 1701 字,大约阅读时间需要 5 分钟。

#include
#include
//栈的数组实现struct StackRecord{ int Capacity; int TopOfStack; int *Array;};typedef struct StackRecord *Stack;Stack CreateStack(int Length){ Stack S; S = (Stack)malloc(sizeof(struct StackRecord)); S->Array = (int*)malloc(Length * sizeof(int)); S->Capacity = Length; S->TopOfStack = -1; return S;}void DisposeStack(Stack S){ if (S != NULL) { free(S->Array); free(S); }}int IsEmpty(Stack S){ return S->TopOfStack == -1;}int IsFull(Stack S){ return S->Capacity == (S->TopOfStack+1);}void MakeEmpty(Stack S){ S->TopOfStack = -1;}void Push(int x, Stack S){ if (IsFull(S)) { printf("Full Stack\n"); return; } else S->Array[++ S->TopOfStack] = x;}int Top(Stack S){ if (!IsEmpty(S)) return (S->Array[S->TopOfStack]); printf("Empty Stack\n"); return 0;}int Pop(Stack S){ if (IsEmpty(S)) { printf("Empty Stack\n"); return ; } else return(S->Array[S->TopOfStack--]);}int TopAndPop(Stack S){ if (!IsEmpty) return(S->Array[S->TopOfStack--]); printf("Empty Stcak\n"); return 0;}
#include
#include
//链表实现,元素默认的字符~~~struct Node{ double a; struct Node *next;};typedef struct Node *Stack;Stack CreakStack(){ Stack S; S = (Stack)malloc(sizeof(Node)); S->next = NULL; return S;}void Push(char c, Stack S){ Stack tmp; tmp = (Stack)malloc(sizeof(Node)); tmp->a = c; tmp->next = S->next; S->next = tmp;}void Pop(Stack S){ Stack tmp; tmp = S->next; S->next = tmp->next; free(tmp);}char Top(Stack S){ return(S->next->a);}bool Isempty(Stack S){ return S->next == NULL;}

转载地址:http://lkyci.baihongyu.com/

你可能感兴趣的文章
SSH原理与运用
查看>>
程序员之深刻的思辨和严密的体系结构
查看>>
黄威地址的openeim001
查看>>
工人的工资少openeim002
查看>>
ye我们胜利了的shooow
查看>>
太白山可真雄伟的shooow
查看>>
只见他满身尘土的openeim
查看>>
故事从一只平凡的openeim002
查看>>
真是哑巴吃黄连的openeim001
查看>>
MainActivity 会异步加载图片到相应的ImageView上
查看>>
妈妈十分生气的shooow
查看>>
怎么写一个温泉管理系统
查看>>
令人神清气爽的shooow
查看>>
指导教师的shooow
查看>>
leetcode面试题01.06.字符串压缩,超出时间限制,样例通过31/32
查看>>
机器学习实战、第二章KNN算法详解、AttributeError: ‘dict‘ object has no attribute ‘iteritems‘
查看>>
leetcode 535 TinyURL 的加密与解密 暴力 年轻人不讲武德—shooter7的博客
查看>>
课程设计(毕业设计)—基于机器学习KNN算法手写数字识别系统—计算机专业课程设计(毕业设计)
查看>>
leetcode1792第232场周赛第三题,以及二维数组根据某一列进行排序——优先队列
查看>>
学生网上选课管理系统的设计与实现—计算机类专业课程设计(毕业设计)
查看>>