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

如何用phpstudy做网站精品成品网站源码

如何用phpstudy做网站,精品成品网站源码,小程序开发平台认可的公司,腾云网站建设1.栈的初始化 2.入栈 3.出栈 4.取出栈顶元素 5.获取栈中有效元素个数 6.栈的销毁 栈:⼀种特殊的线性表,其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作 的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先…

1.栈的初始化

2.入栈

3.出栈

4.取出栈顶元素

5.获取栈中有效元素个数

6.栈的销毁


栈:⼀种特殊的线性表,其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作 的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。

压栈:栈的插⼊操作叫做进栈/压栈/⼊栈,⼊数据在栈顶。

出栈:栈的删除操作叫做出栈。出数据也在栈顶

1.栈的初始化

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>//定义
typedef int STDataType;
struct Stack
{STDataType* arr;int capacity;  int top;  //记录栈顶元素
};
typedef struct Stack ST;//栈的初始化
void STInit(ST* ps)
{ps->arr = NULL;ps->capacity = 0;ps->top = 0;
}


2.入栈

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>//定义
typedef int STDataType;
struct Stack
{STDataType* arr;int capacity;  int top;  //记录栈顶元素
};
typedef struct Stack ST;//入栈
void STPush(ST* 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{perror("realloc fail");exit(1);}ps->capacity = newcapacity;ps->arr = tmp;}ps->arr[ps->top++] = x;//入栈
}

3.出栈

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>//定义
typedef int STDataType;
struct Stack
{STDataType* arr;int capacity;  int top;  //记录栈顶元素
};
typedef struct Stack ST;//判断栈是否为空
bool STEmpty(ST* ps)
{assert(ps);return ps->top == 0;//如果为0,则返回true,不为0返回false
}//出栈
void STPop(ST* ps)
{assert(!STEmpty(ps));//记得要取反 --- 栈不为空才可以出栈,否则就是非法访问--ps->top;//对栈顶--即可
}

4.取出栈顶元素

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>//定义
typedef int STDataType;
struct Stack
{STDataType* arr;int capacity;  int top;  //记录栈顶元素
};
typedef struct Stack ST;//判断栈是否为空
bool STEmpty(ST* ps)
{assert(ps);return ps->top == 0;//如果为0,则返回true,不为0返回false
}//取出栈顶元素
STDataType STTop(ST* ps)
{assert(!STEmpty(ps));//栈不为空才可以取栈顶 --- 否则就是非法访问
//方法一// STDataType tmp = ps->arr[ps->top - 1];// STPop(ps);// return tmp;
//方法二return ps->arr[ps->top - 1];
}

5.获取栈中有效元素个数

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>//定义
typedef int STDataType;
struct Stack
{STDataType* arr;int capacity;  int top;  //记录栈顶元素
};
typedef struct Stack ST;//获取栈中有效元素个数
int STSize(ST* ps)
{assert(ps);return ps->top;//我们在出栈和入栈都有记录top,所以直接返回top就是栈的有效元素个数
}

6.栈的销毁

//栈的销毁
void STDestroy(ST* ps)
{if (ps->arr)//如果ps->arr不为空,那么进入if,释放ps{free(ps->arr);}ps->arr = NULL;//置为空,避免成为野指针ps->capacity = 0;ps->top = 0;
}

http://www.dtcms.com/wzjs/451573.html

相关文章:

  • 企业网站栏目设置app开发需要多少钱
  • 泰安网站开发网站排名优化需要多久
  • ppt做的最好的网站网址创建
  • 百度知道2020 惠州seo服务
  • o2o网站建设咨询竞价培训课程
  • 网站建设的实践体会深圳百度推广客服
  • 免费做公司手机网站淘宝一个关键词要刷多久
  • 网站banner设计价格百度网首页
  • 网站建设公司的公司sem推广什么意思
  • 互联网营销师主要做什么水平优化
  • 网站建设行业数据外贸网站推广怎么做
  • 淮安建设网站制作百度搜索引擎广告投放
  • 做图片网站用什么程序看广告收益最高的软件
  • 网站的中文域名是什么企业营销网站建设系统
  • 重庆平台网站建设多少钱hao123网址导航
  • 什么网站可以免费做视频软件长沙免费建站网络营销
  • 手机app定制开发多少钱seo网站内部优化
  • 网站建设的好处和目的广州seo工作
  • 哈尔滨营销型网站建设百度发布信息怎么弄
  • 做网站需要基础吗网站市场推广
  • 网站icp备案是什么seo 服务
  • 阿里巴巴数据分析官网昆明网络推广优化
  • php网站开发答辩问的问题线下推广方式有哪些
  • 淄博市住房和城乡建设局网站推广文案范例
  • 大型网站建设公司制作网站在线seo优化
  • 成人网站怎么做semi final
  • 长春集团网站建设nba排名榜
  • ppt链接网站怎么做的重庆seo管理平台
  • seo在线排名优化吉安seo招聘
  • 2015年做哪些网站致富万网官网域名注册