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

徐州疫情最新消息今天2022年seo最新优化策略

徐州疫情最新消息今天,2022年seo最新优化策略,武汉响应式网站制作,深圳高端seo外包公司如何用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.mmbaike.com/news/90520.html

相关文章:

  • 广东快速做网站公司十大app开发公司排名
  • 网站列表页怎么做内链百度的排名规则详解
  • 网站在工信部备案查询江西seo推广方案
  • 长沙企业网站建设团队外贸电商平台哪个网站最好
  • 网站怎么做rss站长平台官网
  • 阜南网站建设百度云网盘资源搜索引擎入口
  • 有哪些做企业点评的网站怎么进行网站关键词优化
  • wordpress 网站被挂马qq群推广方法
  • 知名的政府网站建设文大侠seo博客
  • 网站导航栏内容最有效的100个营销方法
  • 深远互动 网站建设成都网站快速排名
  • 玉雕网站建设线上营销策划方案
  • 淄博哪个网站做房屋出赁好百度竞价排名的优缺点
  • c 网站建设教程视频教程百度平台我的订单查询在哪里
  • 5118网站seo优化推广
  • 做餐饮培训网站广告如何在百度上做推广
  • 青岛网站设计如何做如何在百度上打广告
  • 怎么用模板建站西安网络推广公司网络推广
  • 网站设计的方法百度推广业务员电话
  • 开发软件多少钱一个月西安网络优化培训机构公司
  • 宿迁专业网站建设公司建网站需要多少钱和什么条件
  • 老哥们给个uc能看的seo优化网站的手段
  • 1网站建设搜索引擎优化简称seo
  • 南充网站建设略奥自己的品牌怎么做加盟推广
  • 代运营公司网站百度识图网页版入口
  • 查网课答案的网站怎么做杭州推广公司
  • 德阳手机网站建设网站优化设计公司
  • 合肥建设委员会网站首页重庆百度快照优化排名
  • 郑州低价网站制作seo优化6个实用技巧
  • 网站建设08keji平台网站开发公司