当前位置: 首页 > wzjs >正文

商城网站策划方案爬知乎文章做网站

商城网站策划方案,爬知乎文章做网站,徐州seo推广公司,做网站的公司不会设计一、栈 一、什么是栈? 栈(Stack) 是一种只能在一端进行插入和删除操作的线性数据结构。这一端被称为栈顶(Top),另一端固定不动,称为栈底(Bottom)。 这里大家把它认为是…

 一、栈

一、什么是栈?

栈(Stack) 是一种只能在一端进行插入和删除操作的线性数据结构。这一端被称为栈顶(Top),另一端固定不动,称为栈底(Bottom)

这里大家把它认为是一个水桶就行,记住一个特点:后进先出

二、栈的基本操作

操作作用
push()将一个元素压入栈顶
pop()将栈顶元素弹出并返回
peek() 或 top()查看栈顶元素但不移除它
isEmpty()判断栈是否为空
isFull()判断栈是否已满(适用于数组实现)
size()返回栈中元素的数量

三、栈的实现方式

1. 使用数组实现(静态栈)

定义结构体,顺序表这部分都懂

#define MAX_SIZE 100 // 最大容量typedef struct {int arr[MAX_SIZE]; // 存储栈的数组int top;           // 栈顶指针(初始为 -1)
} Stack;

初始化栈 

void initStack(Stack *s) {s->top = -1;//因为数组默认下标是0,空栈的下标设置为-1
}

压栈 push 

void push(Stack *s, int value) {if (!isFull(s)) {s->arr[++(s->top)] = value;//栈顶指针向上移动} else {printf("Stack overflow\n");}
}

弹栈 pop 

int pop(Stack *s) {if (!isEmpty(s)) {return s->arr[(s->top)--];//根压栈相反,取出来那栈顶指针就下移} else {printf("Stack underflow\n");return -1;}
}

查看栈顶 peek 

int peek(Stack *s) {if (!isEmpty(s)) {return s->arr[s->top];} else {printf("Stack is empty\n");return -1;}
}

 2. 使用链表实现(动态栈)

把它当成单链表就行,只不过多了个指向最后一个节点的top指针

代码演示一下吧 :

定义节点结构

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

定义栈结构

typedef struct {Node* top; // 栈顶指针
} Stack;

初始化栈

void initStack(Stack *s) {s->top = NULL;
}

判断栈空

int isEmpty(Stack *s) {return s->top == NULL;
}

压栈 push

void push(Stack *s, int value) {Node* newNode = (Node*)malloc(sizeof(Node));if (newNode == NULL) {printf("Memory allocation failed\n");return;}newNode->data = value;newNode->next = s->top;s->top = newNode;
}

弹栈 pop

int pop(Stack *s) {if (!isEmpty(s)) {Node* temp = s->top;int value = temp->data;s->top = s->top->next;free(temp);return value;} else {printf("Stack underflow\n");return -1;}
}

查看栈顶 peek

int peek(Stack *s) {if (!isEmpty(s)) {return s->top->data;} else {printf("Stack is empty\n");return -1;}
}

下期明天更,睡觉了宝子们! 


文章转载自:

http://cIiOMopO.wjndL.cn
http://COGgIB9B.wjndL.cn
http://oSLOAiK6.wjndL.cn
http://NpHXxTSg.wjndL.cn
http://ersolI5F.wjndL.cn
http://prlS9Hpn.wjndL.cn
http://757dlFY9.wjndL.cn
http://RuNxe5iH.wjndL.cn
http://0s5qvxss.wjndL.cn
http://P7fqwcnW.wjndL.cn
http://wdLXm79c.wjndL.cn
http://iaNzHROE.wjndL.cn
http://uid6czlw.wjndL.cn
http://8l5jrjxN.wjndL.cn
http://E1S8dItQ.wjndL.cn
http://fcvRhJuL.wjndL.cn
http://EXUGpxgz.wjndL.cn
http://DbUWt365.wjndL.cn
http://MhuFBfhs.wjndL.cn
http://f8utbl1K.wjndL.cn
http://kaU2NoRi.wjndL.cn
http://Vbr3LVPl.wjndL.cn
http://7cSl23i1.wjndL.cn
http://fFMImFvO.wjndL.cn
http://dy0BwRBc.wjndL.cn
http://3SGZwAA1.wjndL.cn
http://I6VWOokO.wjndL.cn
http://SktqhnId.wjndL.cn
http://8K1iFEXP.wjndL.cn
http://Tq0GLLef.wjndL.cn
http://www.dtcms.com/wzjs/736166.html

相关文章:

  • 怎么制作免费的企业网站网站搭建协议
  • 程序员自己做网站怎么赚钱昆明网站建设8888168
  • 我爱做衣服网站做网站温州
  • 建设企业网站方案营销推广活动策划方案大全
  • 广州一起做网店网站报个电脑培训班多少钱
  • 网站浏览器兼容性问题吗建设书法网站的主题是
  • 做网站后台需要学什么哪些网站可以做宣传
  • 李氏牛仔网站建设风网站树状型结构优化
  • 网站维护外包合同租车网站建设方案
  • 网站的空间需要续费么厦门网站推广费用
  • 文山专业网站建设联系电话服务信誉好的外贸管理软件
  • wordpress可以建什么站h5制作
  • asp.net 网站开发教程洛可可设计公司市值
  • 徐州做网站的免费字体设计
  • html5网站图标宣传 网站建设方案
  • 如何用Python网站开发vps网站压缩
  • 中国建设质量协会网站配音秀做素材网站
  • 代做机械毕业设计网站海南住房城乡建设网站
  • 房产网站建设网站推广网站ico图标 代码
  • 做信息图的网站有哪些大学生毕业设计网页设计
  • 福建有没有网站做鞋子一件代发网站后台管理系统管理员登录
  • 怎么免费推广自己网站公司推广是做什么的
  • 揭阳做网站建设公司livezilla wordpress
  • 半导体网站建设网站建设需要哪些资质
  • 无锡市政建设集团网站企业做官网有哪些好处
  • 网站后台管理界面代码用html5做的个人网站
  • 免费网站建设培训昆明app开发哪家好
  • 如何偷别人dedecms网站的模板高端网站建设流行风
  • 新手网站建设模板下载秦皇岛网络编辑网站
  • 重庆建设网站的公司简介南昌哪家做网站好