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

响应式网站如何做工业网站模板

响应式网站如何做,工业网站模板,阿里云登录入口,ftp 上传 wordpress文章目录 1. 栈2. 栈的初始化和栈的销毁3. 入栈和出栈(压栈)4. 取栈顶元素并打印5. 栈的练习题5.1 有效的括号 1. 栈 栈:也是一种线性表,其数据结构与动态顺序表的数据结构类似栈分为栈顶和栈底,在栈中,插入…

文章目录

  • 1. 栈
  • 2. 栈的初始化和栈的销毁
  • 3. 入栈和出栈(压栈)
  • 4. 取栈顶元素并打印
  • 5. 栈的练习题
    • 5.1 有效的括号

1. 栈

  • 栈:也是一种线性表,其数据结构与动态顺序表的数据结构类似
  • 栈分为栈顶和栈底,在栈中,插入数据和删除数据被称为入栈和出栈
  • 栈的相关操作都是在栈顶实现的,而栈底通常不会改变
  • 栈的底层结构可以通过数组和链表实现,但是链表在入栈和出栈操作上,会出现指针指向改变的问题,相对而言,数组反而只需要改变其size(在栈中被称为栈顶top)大小即可,因此用数组来实现栈的底层更佳

在这里插入图片描述


在这里插入图片描述


2. 栈的初始化和栈的销毁

在这里插入图片描述


//初始化
void StackInit(Stack* ps)
{assert(ps);ps->arr = NULL;ps->top = ps->capacity = 0;
}//销毁
void StackDestroy(Stack* ps)
{assert(ps);if (ps->arr)free(ps->arr);ps->arr = NULL;ps->top = ps->capacity = 0;
}

3. 入栈和出栈(压栈)

在这里插入图片描述


//入栈
void StackPush(Stack* ps, STDataType x)
{assert(ps);//空间满了--增容if (ps->top == ps->capacity){int newCapacity = ps->capacity == 0 ? 4 : 2 * ps->capacity;STDataType* tmp = (STDataType*)realloc(ps->arr,newCapacity * sizeof(STDataType));if (tmp == NULL){perror("realloc fail!");exit(1);}ps->arr = tmp;ps->capacity = newCapacity;}//直接尾插ps->arr[ps->top] = x;ps->top++;
}//出栈
void StackPop(Stack* ps)
{assert(ps && ps->top);ps->top--;
}

4. 取栈顶元素并打印

在这里插入图片描述


//取栈顶元素
STDataType StackTop(Stack* ps)
{assert(ps && ps->arr);return ps->arr[ps->top - 1];
}//获取栈中有效元素个数
int StackSize(Stack* ps)
{assert(ps);return ps->top;
}//打印
void StackPrint(Stack* ps)
{assert(ps);while (ps->top){//栈顶元素依次出栈STDataType top = StackTop(ps);printf("%d ", top);//每次出栈top--ps->top--;}
}

5. 栈的练习题

5.1 有效的括号

  • 题目

在这里插入图片描述


  • 思路

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


#pragma once
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <stdbool.h>
//栈的数据结构
typedef int STDataType;
typedef struct Stack
{STDataType* arr;int top;int capacity;
}Stack;//初始化
void StackInit(Stack* ps)
{assert(ps);ps->arr = NULL;ps->top = ps->capacity = 0;
}//销毁
void StackDestroy(Stack* ps)
{assert(ps);if (ps->arr)free(ps->arr);ps->arr = NULL;ps->top = ps->capacity = 0;
}//入栈
void StackPush(Stack* ps, STDataType x)
{assert(ps);//空间满了--增容if (ps->top == ps->capacity){int newCapacity = ps->capacity == 0 ? 4 : 2 * ps->capacity;STDataType* tmp = (STDataType*)realloc(ps->arr, newCapacity * sizeof(STDataType));if (tmp == NULL){perror("realloc fail!");exit(1);}ps->arr = tmp;ps->capacity = newCapacity;}//直接尾插ps->arr[ps->top] = x;ps->top++;
}//出栈
void StackPop(Stack* ps)
{assert(ps && ps->top);ps->top--;
}//取栈顶元素
STDataType StackTop(Stack* ps)
{return ps->arr[ps->top - 1];
}//获取栈中有效元素个数
int StackSize(Stack* ps)
{assert(ps);return ps->top;
}//判断栈是否为空
bool StackEmpty(Stack* ps)
{assert(ps);return ps->top == 0;
}bool isValid(char* s)
{Stack st;StackInit(&st);char* pi = s;//遍历字符串while (*pi != '\0'){//入栈if (*pi == '(' || *pi == '[' || *pi == '{')StackPush(&st, *pi);else{//取栈顶,判断char top = StackTop(&st);if ((top == '(' && *pi == ')') || (top == '[' && *pi == ']') || (top == '{' && *pi == '}'))StackPop(&st);else{StackDestroy(&st);return false;}}pi++;}//对比结束bool ret = StackEmpty(&st) ? true : false;StackDestroy(&st);return ret;
}
http://www.yayakq.cn/news/714130/

相关文章:

  • 动态表白网站制作闲鱼网络营销方式
  • 电子商务网站建设实训作业简单网站建设协议书
  • 假网站网站怎么做网站建设与管理综合实训
  • 创建企业网站经过哪些步骤广告设计与制作专业认识
  • 漳州城乡住房建设部网站网站建设公司加盟
  • 河北营销类网站设计成都网站建设 外包
  • iis做本地视频网站原创手做网站
  • 永康网站网站建设百度开发者
  • 视频网站怎么做统计东莞洪梅网站建设
  • 公司想制作网站济南网站建设平台官网
  • 专业做酒的网站有哪些免费网站建
  • 苏州企业网站制作开发网站站长是什么
  • wordpress查询插件seo网站优化建议
  • 广州led网站建设网站关键词调整 收录
  • 泛微e8做网站门户智慧团建管理系统
  • php 微信 网站开发中学网站建设方案计划
  • 如何制作自己的网站的邮箱注册企业邮箱需要什么
  • 如何用自己公司网站做邮箱ih5平台发展前景
  • 做网站想要中立网站开发费用预算
  • 营销软件网站wordpress十大主题
  • 网站自动识别移动终端wordpress now 1.5
  • 软件下载网站如何建设门户网站系统源码
  • 设计营销型网站域名长沙建站seo公司
  • 报名窗口网站建设专业网站定制团队
  • 二建证从住房建设厅网站调出流程wordpress 扒站
  • 漳州市住房与城乡建设部网站wordpress 分类目录 层级
  • 如何做视频网站旗下账号做门户网站 公司营业范围是啥
  • 网站建设课设报告wordpress网站收录插件
  • 吉林公路建设有限公司网站百度重庆营销中心
  • 平度市建设局网站深圳最近一个星期新闻