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

网页设计心得体会600字长沙优化科技

网页设计心得体会600字,长沙优化科技,制作网页完整步骤手机版,插插插网站正在建设中如何用C实现一个顺序栈 数据结构 -- 栈的简介顺序栈 - 结构体的定义顺序栈的初始化顺序栈的销毁入栈出栈获取栈顶元素判断顺序栈是否为空返回顺序栈中元素的个数 数据结构 – 栈的简介 栈是插入和删除遵循先进后出原则的一种容器。 也是一种线性表对象存放在栈, 可以…

如何用C++实现一个顺序栈

  • 数据结构 -- 栈的简介
    • 顺序栈 - 结构体的定义
    • 顺序栈的初始化
    • 顺序栈的销毁
    • 入栈
    • 出栈
    • 获取栈顶元素
    • 判断顺序栈是否为空
    • 返回顺序栈中元素的个数

数据结构 – 栈的简介

  • 栈是插入和删除遵循先进后出原则的一种容器。 也是一种线性表
  • 对象存放在栈, 可以在任意时间插入栈; 但是在任何时间只有栈顶元素才可以被删除
  • 栈的插入和删除都在同一端进行
  • 栈分为顺序栈和链栈两种
    • 顺序栈 : 以顺序表的形式实现
    • 链栈 : 以节点组合的链表形式实现
  • 对于数据结构 - 栈, 一般需要以下几种要素:
    • 指针域 : 顺序栈指针指向顺序表, 链栈指针指向头节点
    • 栈的容量 : 记录栈的容量
    • 栈顶指针 : 用于入栈 , 出栈 , 获取栈顶元素等, 甚至记录栈中元素总个数

顺序栈 - 结构体的定义

typedef int STDataType;   // typedef 起别名, 为了栈的通用性
typedef struct Stack
{STDataType* arr;   // 数组指针, 未来指向由new分配的数组int capacity;      // 模拟栈的容量int top;           // 模拟栈顶指针
}ST;

顺序栈的初始化

// 顺序栈的初始化
void STInit(ST* ps)
{assert(ps);  // 判断 ps指针是否为空ps->arr = NULL;ps->capacity = 0;ps->top = 0;          // top = 0 , 代表栈顶指针指向栈顶元素的下一个位置。
}

顺序栈的销毁

// 顺序栈的销毁
void STDestroy(ST* ps)
{assert(ps);assert(ps->arr);   // 判断 数组指针是否为空 (判断是否为空栈)delete[] ps->arr;ps->capacity = ps->top = 0;
}

入栈

// 入栈
void STPush(ST* ps, STDataType val)
{assert(ps);if (!ps->arr)   // 判断是否为空栈{ps->arr = new STDataType[4];ps->capacity = 4;ps->arr[ps->top++] = val;return;}if (ps->top == ps->capacity)  // 判断顺序栈是否已满{STDataType* newArr = new STDataType[ps->capacity * 2];for (int i = 0; i <= ps->top; i++){newArr[i] = ps->arr[i];}delete[] ps->arr;ps->arr = newArr;ps->capacity *= 2;ps->arr[ps->top++] = val;return;}if (!ps->arr){perror("new failed");exit(-1);}ps->arr[ps->top++] = val;
}

出栈

// 出栈 
void STPop(ST* ps)
{assert(ps);assert(ps->top);--ps->top;
}

获取栈顶元素

// 获取栈顶元素
STDataType STTop(ST* ps)
{assert(ps);assert(ps->top);return ps->arr[ps->top - 1];
}

判断顺序栈是否为空

// 判断栈是否为空
bool STEmpty(ST* ps)
{assert(ps);return ps->top == 0;      // 
}

返回顺序栈中元素的个数

// 返回栈中元素的个数
int STSize(ST* ps)
{assert(ps);return ps->top;
}
http://www.ds6.com.cn/news/55711.html

相关文章:

  • 做网站如何放入图像企业seo整站优化方案
  • 宝塔做网站443链接杭州谷歌seo公司
  • 网店托管代运营骗局石家庄seo外包的公司
  • 安徽建设工程信息管理平台东莞百度快速优化排名
  • 做旅游门票网站需要什么材料站长友情链接
  • 北京威凯建设发展招聘网站西安网站推广助理
  • 路由器搭建wordpress深圳网站关键词优化公司
  • 电商设计网站素材百度竞价推广专员
  • 专做海外代购的网站seo公司发展前景
  • 中山网站建设企业seo优化网络公司
  • 手机网站制作公司网站优化培训班
  • 河东苏州网站建设淄博网站推广
  • 自己做网站赚钱电商平台推广方案
  • 网站站内内链建设大冶seo网站优化排名推荐
  • 做bbs网站教程网站排名软件推荐
  • 网站建设杭州网站提交工具
  • 做企业网站 需要注意的seo干什么
  • 惠州做网站优化seo咨询
  • 3800给做网站百度的网站网址
  • 网站开发架构mvc培训机构是干什么的
  • 岳阳设计网站推荐淘宝站内推广方式有哪些
  • 宁夏网站建设电话个人怎么在百度上做推广
  • 做网站就是做信息整合网址大全浏览器app
  • wordpress tregoseo 优化公司
  • 宿迁专业网站建设公司如何做自己的网站
  • 怎么攻击php做的网站吗2345浏览器下载
  • 中国核工业第五建设有限公司简介南山网站seo
  • 做网站除了域名还需要什么seo概念的理解
  • win2003 做网站服务器怎么创建网站?
  • 如何制作一个网站包含多个网页百度权重是什么