码迷,mamicode.com
首页 > 其他好文 > 详细

第11周学习总结

时间:2020-06-04 18:06:22      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:struct   结构   入栈   计算机科学   empty   push   容量   mic   def   

# 第11周知识总结

标签(空格分隔): 未分类

 

 

计算机科学或软件工程的领域对栈与队列的四个操作有特定的名称:
栈:
push: 加入一个物件,入栈、推入、…;
pop: 取出一个物件,出栈、弹出、…;
top: 检查一个「特定」的对象,顶部、头部、…,
isEmpty: 和检查容器内有没有物件,为空、…。
队列:
enqueue: 加入一个物件,入队;
dequeue: 取出一个物件,出队;
head: 检查一个「特定」的对象,头部;
isEmpty: 和检查容器内有没有对象,为空。
栈和队列都是一种具有某些特性的线性表 (linear list),它们可使用固定数组、动态数组、单链线性表、或双链线性表来实现。
在 C 程序语言可使用动态数组 (dynamic array) 实现栈:
数据结构:
#define SEGMENT 50 // 栈元素每段长度。
typedef int ElemType; // 整数类型的元素。
typedef struct {
ElemType *elem; // 元素类型的动态数组指针,栈的容器位址。
int top; // 栈的顶部指针 (索引),初始值为 -1。
int capacity; // 栈内存容量,初始设定为一段元素的长度。
} Stack;
基本操作介面:
// 初始化栈。
void initial(Stack *); // 分配一段元素的长度,顶部指向 -1。
// 入栈,将一个元素推入栈中。
void push(Stack *, ElemType );
// 出栈,将一个元素从栈弹出;若栈为空的,返回 -1。
ElemType pop(Stack *);
// 查看顶部元素;若栈为空的,返回 -1。
ElemType top(Stack);
// 查看栈是否为空;为空,返回 1;否则,返回 0。
int is_empty(Stack);
// 查看栈的元素个数。(非基本操作)
int get_size(Stack);
// 将栈清空,栈的容量改为一段元素的长度。(非基本操作)
void clear(Stack *);
// 从底部到顶部打印栈的元素。(非基本操作)
void print_stack(Stack);

 

第11周学习总结

标签:struct   结构   入栈   计算机科学   empty   push   容量   mic   def   

原文地址:https://www.cnblogs.com/4s57op/p/13045100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!