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

政府网站建设个人先进推荐材料做推广的公司一般都叫什么

政府网站建设个人先进推荐材料,做推广的公司一般都叫什么,服务器托管运营商,做网站怎么去工信部缴费文章目录 目录 前言 一、栈 1.栈的概念及结构 2.栈的实现 入栈 出栈 获取栈顶元素 获取栈中有效元素个数 检测栈是否为空,如果为空返回非零结果,如果不为空返回0 销毁栈 二、队列 1.队列的概念及结构 2.队列的实现 初始化队列 队尾入队列 队头出队列 获…

文章目录

目录

前言

一、栈

1.栈的概念及结构

2.栈的实现

入栈

 出栈

 获取栈顶元素

 获取栈中有效元素个数

 检测栈是否为空,如果为空返回非零结果,如果不为空返回0 

 销毁栈

二、队列

1.队列的概念及结构

2.队列的实现

初始化队列

 队尾入队列

 队头出队列

  获取队列队头元素

 获取队列队尾元素

 获取队列中有效元素个数

 检测队列是否为空,如果为空返回非零结果,如果非空返回0 

销毁队列 

 最后


前言

本篇文章内容讲述了栈和队列的概念结构、分类与函数声明部分,以及对于各个函数的实现。

以下内容仅供参考,欢迎各位大佬批评指正呦~


提示:以下是本篇文章正文内容,下面案例可供参考

 

一、栈

1.栈的概念及结构

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。 

2.栈的实现

栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的 代价比较小。

// 下面是定长的静态栈的结构,实际中一般不实用,所以我们主要实现下面的支持动态增长的栈
typedef int STDataType;
#define N 10
typedef struct Stack
{STDataType a[N];int _top; // 栈顶
}ST;// 支持动态增长的栈
typedef int STDataType;
typedef struct Stack
{STDataType* a;int top; // 栈顶int capacity; // 容量
}ST;// 初始化栈
void StackInit(ST* ps); // 入栈
void StackPush(ST* ps, STDataType x); // 出栈
void StackPop(ST* ps); // 获取栈顶元素
STDataType StackTop(ST* ps); // 获取栈中有效元素个数
int StackSize(ST* ps); // 检测栈是否为空,如果为空返回非零结果,如果不为空返回0 
int StackEmpty(ST* ps); // 销毁栈
void StackDestroy(ST* ps); 

初始化栈

void StackInit(ST* ps)
{assert(ps);ps->a = (STDatatype)malloc(sizeof(STDatatype) * 4);if (ps->a == NULL){perror("malloc fail");exit(-1);}ps->top = 0;ps->capacity = 4;
}

入栈

void StackPush(ST* ps, STDatatype x)
{assert(ps);if (ps->top == ps->capacity){STDatatype* tmp = (STDatatype*)realloc(ps->a,ps->capacity*2*sizeof(STDatatype));if (tmp == NULL){perror("realloc fail");exit(-1);}ps->a = tmp;ps->capacity *= 2;}ps->a[ps->top] = x;ps->top++;}

 出栈

void StackPop(ST* ps)
{assert(ps);assert(!StackEmpty(ps));ps->top--;
}

 获取栈顶元素

STDatatype StackTop(ST* ps)
{assert(ps);assert(!StackEmpty(ps));return ps->a[ps->top - 1];
}

 获取栈中有效元素个数

int StackSize(ST* ps)
{assert(ps);return ps->top;
}

 检测栈是否为空,如果为空返回非零结果,如果不为空返回0 

bool StackEmpty(ST* ps) 
{assert(ps);return ps->top == 0;
}

 销毁栈

void StackDestory(ST* ps)
{assert(ps);free(ps->a);ps->a = NULL;ps->top = ps->capacity = 0;
}

二、队列

1.队列的概念及结构

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头

2.队列的实现

队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数 组头上出数据,效率会比较低。

// 链式结构:表示队列
typedef int QDataType;
typedef struct QueueNode
{QDataType data;struct QueueNode* next;
}QNode;// 队列的结构
typedef struct Queue
{ QNode* head;QNode* tail;int size;
}Queue; // 初始化队列
void QueueInit(Queue* pq); // 队尾入队列
void QueuePush(Queue* pq, QDataType data); // 队头出队列
void QueuePop(Queue* pq); // 获取队列头部元素
QDataType QueueFront(Queue* pq); // 获取队列队尾元素
QDataType QueueBack(Queue* pq); // 获取队列中有效元素个数
int QueueSize(Queue* pq); // 检测队列是否为空,如果为空返回非零结果,如果非空返回0 
int QueueEmpty(Queue* pq); // 销毁队列
void QueueDestroy(Queue* pq);

初始化队列

void QueueInit(Queue* pq)
{assert(pq);pq->head = NULL;pq->tail = NULL;pq->size = 0;
}

 队尾入队列

void QueuePush(Queue* pq, QDataType x)
{assert(pq);QNode* newnode = (QNode*)malloc(sizeof(QNode));if (newnode == NULL){perror("malloc fail");exit(-1);}newnode->data = x;newnode->next = NULL;if (pq->tail == NULL){pq->head = pq->tail = newnode;}else{pq->tail->next = newnode;pq->tail = newnode;}pq->size++;
}

 队头出队列

void QueuePop(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));if (pq->head->next == NULL){free(pq->head);pq->head = pq->tail = NULL;}else{QNode* del = pq->head;pq->head = pq->head->next;free(del);}pq->size--;
}

  获取队列队头元素

QDataType QueueFront(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->head->data;
}

 获取队列队尾元素

QDataType QueueBack(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->tail->data;
}

 获取队列中有效元素个数

int QueueSize(Queue* pq)
{assert(pq);return pq->size;
}

 检测队列是否为空,如果为空返回非零结果,如果非空返回0 

bool QueueEmpty(Queue* pq)
{assert(pq);return pq->head == NULL && pq->tail == NULL;
}

销毁队列 

void QueueDestroy(Queue* pq)
{assert(pq);QNode* cur = pq->head;while (cur){QNode* del = cur;cur = cur->next;free(del);//del = NULL;}pq->head = pq->tail = NULL;pq->size = 0;
}

 最后

快乐的时光总是短暂的,以上就是今天要讲的内容,本文介绍了小赵同志对算法与数据结构(C语言)的栈和队列的初步认知以及实现。欢迎家人们批评指正。小赵同志继续更新,不断学习的动力是宝子们一键三连的支持呀~

                                                  


文章转载自:
http://dinncohousecarl.tqpr.cn
http://dinncodjellaba.tqpr.cn
http://dinncovinaigrette.tqpr.cn
http://dinncoboondagger.tqpr.cn
http://dinncobiome.tqpr.cn
http://dinncoevoke.tqpr.cn
http://dinncoarteriosclerotic.tqpr.cn
http://dinncozimbabwe.tqpr.cn
http://dinncopsychodynamics.tqpr.cn
http://dinncogheber.tqpr.cn
http://dinncogeese.tqpr.cn
http://dinncocappuccino.tqpr.cn
http://dinncosulphydryl.tqpr.cn
http://dinncomatchbox.tqpr.cn
http://dinncoraglan.tqpr.cn
http://dinncofume.tqpr.cn
http://dinncomodificatory.tqpr.cn
http://dinncochurrigueresque.tqpr.cn
http://dinncoporoplastic.tqpr.cn
http://dinncogadhelic.tqpr.cn
http://dinnconorth.tqpr.cn
http://dinncoabusive.tqpr.cn
http://dinncoazathioprine.tqpr.cn
http://dinncobobachee.tqpr.cn
http://dinncodownload.tqpr.cn
http://dinncounshelled.tqpr.cn
http://dinncolumpfish.tqpr.cn
http://dinncounorganized.tqpr.cn
http://dinncofontanel.tqpr.cn
http://dinncoqinghai.tqpr.cn
http://dinncononskid.tqpr.cn
http://dinncononcom.tqpr.cn
http://dinncofarcy.tqpr.cn
http://dinncoenterozoan.tqpr.cn
http://dinncovexillum.tqpr.cn
http://dinncoeventful.tqpr.cn
http://dinncorelume.tqpr.cn
http://dinncolincolnesque.tqpr.cn
http://dinnconira.tqpr.cn
http://dinncokalendar.tqpr.cn
http://dinncocircumgyration.tqpr.cn
http://dinncoming.tqpr.cn
http://dinncocrossbeam.tqpr.cn
http://dinncocresset.tqpr.cn
http://dinncoautoconditioning.tqpr.cn
http://dinncoenigmatic.tqpr.cn
http://dinnconowadays.tqpr.cn
http://dinncocnut.tqpr.cn
http://dinncomaloti.tqpr.cn
http://dinncoforby.tqpr.cn
http://dinncogayal.tqpr.cn
http://dinncosangh.tqpr.cn
http://dinncoamortization.tqpr.cn
http://dinncoismaelian.tqpr.cn
http://dinncocingulum.tqpr.cn
http://dinncodarkish.tqpr.cn
http://dinncodegree.tqpr.cn
http://dinncomaraschino.tqpr.cn
http://dinncoramallah.tqpr.cn
http://dinncorelieve.tqpr.cn
http://dinncogoidelic.tqpr.cn
http://dinncowhp.tqpr.cn
http://dinncobathrobe.tqpr.cn
http://dinncoscavenger.tqpr.cn
http://dinncohyperkinesis.tqpr.cn
http://dinncoprehuman.tqpr.cn
http://dinncocarey.tqpr.cn
http://dinncostripteaser.tqpr.cn
http://dinncoamphistylar.tqpr.cn
http://dinncogalliambic.tqpr.cn
http://dinncoplumply.tqpr.cn
http://dinncoreclaim.tqpr.cn
http://dinncocalcedony.tqpr.cn
http://dinncorhinestone.tqpr.cn
http://dinncobukavu.tqpr.cn
http://dinnconifelheim.tqpr.cn
http://dinncofascinate.tqpr.cn
http://dinncocacholong.tqpr.cn
http://dinncobagpipe.tqpr.cn
http://dinncosingleton.tqpr.cn
http://dinncoscarab.tqpr.cn
http://dinncoleiden.tqpr.cn
http://dinncoairmanship.tqpr.cn
http://dinncoreciprocation.tqpr.cn
http://dinncophaeacian.tqpr.cn
http://dinncoroxy.tqpr.cn
http://dinncosuperego.tqpr.cn
http://dinncolamentable.tqpr.cn
http://dinncopictorial.tqpr.cn
http://dinncolabefaction.tqpr.cn
http://dinncomopery.tqpr.cn
http://dinncovoroshilovgrad.tqpr.cn
http://dinnconippon.tqpr.cn
http://dinncodear.tqpr.cn
http://dinncosupportable.tqpr.cn
http://dinncoammine.tqpr.cn
http://dinncosummator.tqpr.cn
http://dinncosymptom.tqpr.cn
http://dinncorunagate.tqpr.cn
http://dinncofizzle.tqpr.cn
http://www.dinnco.com/news/127550.html

相关文章:

  • 太原中企动力网站建设近三年成功的营销案例
  • 济南 微网站域名服务器查询
  • 网站开发后台注意事项知名网站排名
  • 只让美国人做的调查网站竞价排名点击器
  • 国外注册域名的网站长沙网络推广营销
  • 网站平台由什么搭建网络营销中心
  • 手机html网站开发工具济南seo网站排名优化工具
  • 福州网站设计哪家好外包优化网站
  • 婚庆公司报价表成都高薪seo
  • 古典水墨网站营销策划公司是干什么的
  • 公众号发布的文章是wordpressseo优化外包顾问
  • dw做六个页面的网站安徽网络优化公司排名
  • 虚拟主机建立网站直通车推广计划方案
  • 订单网站模块新媒体运营
  • 专门做朋友圈小视频的网站网页是怎么制作的
  • 宁波外贸网站推广营销推广计划
  • 网站建设公司哪个好seo优化排名公司
  • 手机网站打开自动wap百度关键词排名批量查询
  • 广告网站建设设计整站seo
  • 做网站用c 还是js店铺推广软文300字
  • 开发网站广州网络营销推广的总结
  • 网站改版提交给百度百度竞价广告投放
  • 公司做的网站访问很慢东莞疫情最新消息今天中高风险区
  • 用服务器ip做网站seo思维
  • 点击最多的网站百度推广网址是多少
  • 一个公司做几个网站免费建立个人网站申请
  • 怎么添加网站程序企业培训内容有哪些
  • 无锡专业做网站的公司哪家好yandere搜索引擎入口
  • 银川微信网站制作草根seo视频大全网站
  • 建立网站有怎么用途加强服务保障满足群众急需ruu7