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

兰州网站建设q.479185700強重庆好的seo平台

兰州网站建设q.479185700強,重庆好的seo平台,小程序搭建赚钱吗,做的网站底部应该标注什么意思一、个人理解队列是线性表的衍生之一,具有先进先出的特性,在队尾进行插入操作,在队头进行删除操作。队列的存储结构分为两个大类,一种是顺序队,就是用数组实现。另一种就是链队,使用链表实现。顺序队存在真…

一、个人理解

  1. 队列是线性表的衍生之一,具有先进先出的特性,在队尾进行插入操作,在队头进行删除操作。

  1. 队列的存储结构分为两个大类,一种是顺序队,就是用数组实现。另一种就是链队,使用链表实现。

  1. 顺序队存在真上溢和假上溢两种情况,真上溢指的是数据真的满了。假上溢举例的话就是队头索引由于出队(删除数据)而上移例如变为1,0号索引位会空出来,而队尾索引已到达数组最大长度,这时就会出现空间浪费的情况,所以引入了循环顺序队的概念。

二、顺序队图解

三、循环顺序队图解

当循环顺序队长度不满时,0、1、2号索引位没有数据(或者说有可以抹除的数据),不能浪费,如图队最大长度6,队尾索引是5,队头索引是3,(5+1)%6=0,又回到了0,可以继续插入数据,避免了空间的浪费。

四、结构体

1、ElemType

(1)说明

存放自定义数据。

(2)源码

typedef struct ElemType
{char StudentNum[StudentNumLen];char StudentName[StudentNameLen];int  StudentScore;
}ElemType;

2、SqQueue

(1)说明

Data:数据。

FrontIndex:队头索引。

RearIndex:队尾索引。

SqQueueLen:队的长度。

(2)源码

typedef struct SqQueue
{ElemType*    Data;QueueLenType FrontIndex;  //队头,出队时用。QueueLenType RearIndex;   //队尾,入队时用。QueueLenType SqQueueLen;
}SqQueue;

五、自定义数据类型

typedef int Status;typedef unsigned long long int QueueLenType;

六、函数

1、InitSqQueue

(1)用途

初始化顺序队。

(2)源码

Status InitSqQueue(SqQueue* SQ)
{JudgeAllNullPointer(SQ);SQ->Data = (ElemType*)MyMalloc(sizeof(ElemType) * SQ_QUEUE_MAX_SIZE);SQ->FrontIndex = 0;SQ->RearIndex  = 0;SQ->SqQueueLen = 0;Log("Init SqQueue    : OK\n",Info);return SuccessFlag;
}

(3)参数

参数名

说明

SQ

需要初始化的SqQueue*类型顺序队。

2、GetSqQueueLen

(1)用途

获取顺序队长度。

(2)源码

QueueLenType GetSqQueueLen(SqQueue* SQ)
{JudgeAllNullPointer(SQ);return SQ->SqQueueLen;
}

(3)参数

参数名

说明

SQ

SqQueue*类型顺序队。

3、EnterSqQueue

(1)用途

入队,将ElemType类型的数据插入到循环顺序队的队尾。

(2)源码

Status EnterSqQueue(SqQueue* SQ, ElemType E)
{JudgeAllNullPointer(SQ);if(GetSqQueueLen(SQ) == SQ_QUEUE_MAX_SIZE){Log("SqQueue is full, Data cannot be entered\n",Warning);return FailFlag;}SQ->SqQueueLen++;SQ->Data[SQ->RearIndex] = E;SQ->RearIndex = (SQ->RearIndex + 1) % SQ_QUEUE_MAX_SIZE;Log("Enter SqQueue   : OK\n",Info);return SuccessFlag;
}

(3)参数

参数名

说明

SQ

SqQueue*类型顺序队。

E

需要插入ElemType类型的数据。

4、LeaveSqQueue

(1)用途

出队,将出队元素赋予ElemType* E,作为输出参数。

(2)源码

Status LeaveSqQueue(SqQueue* SQ, ElemType* E)
{JudgeAllNullPointer(SQ);JudgeAllNullPointer(E);if(GetSqQueueLen(SQ) == 0){Log("SqQueue is Empty, Data cannot be left\n",Warning);return FailFlag;}SQ->SqQueueLen--;*E = SQ->Data[SQ->FrontIndex];SQ->FrontIndex = (SQ->FrontIndex + 1) % SQ_QUEUE_MAX_SIZE;Log("Leave SqQueue   : OK\n",Info);return SuccessFlag;
}

(3)参数

参数名

说明

SQ

SqQueue*类型顺序队。

E

输出参数,给一个ElemType* 类型指针即可。

5、GetSqQueueTop

(1)用途

获取顺序队队头数据,如果队是空队,返回ElemType的类型数据{"","",0}。

(2)源码

ElemType GetSqQueueTop(SqQueue* SQ)
{JudgeAllNullPointer(SQ);if(GetSqQueueLen(SQ) == 0){Log("SqQueue is Empty, can't get SqQueueTop\n",Warning);ElemType res = {"","",0};return res;}return SQ->Data[SQ->FrontIndex];
}

(3)参数

参数名

说明

SQ

SqQueue*类型顺序队。

七、虚机测试

[gbase@czg2 LinearTable_SqQueue]$ make
gcc -Wall -g ../Log/Log.c SqQueue.c main.c -o TestSqQueue -I ../Log/[gbase@czg2 LinearTable_SqQueue]$ ./TestSqQueue 
2023-2--Info--Init SqQueue    : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Warning--SqQueue is full, Data cannot be entered
2023-2--Warning--SqQueue is full, Data cannot be entered
2023-2--Debug--SqQueue Data   :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 100
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 101
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 102
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 103
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 104
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 105
+++++++++++++++
FrontIndex     : 0
RearIndex      : 0
SqQueueLen     : 6
2023-2--Info--Leave SqQueue   : OK
2023-2--Debug--ElemType Data  :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 100
2023-2--Info--Leave SqQueue   : OK
2023-2--Debug--ElemType Data  :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 101
2023-2--Info--Leave SqQueue   : OK
2023-2--Debug--ElemType Data  :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 102
2023-2--Info--Leave SqQueue   : OK
2023-2--Debug--ElemType Data  :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 103
2023-2--Debug--SqQueue Data   :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 104
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 105
+++++++++++++++
FrontIndex     : 4
RearIndex      : 0
SqQueueLen     : 2
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Info--Enter SqQueue   : OK
2023-2--Debug--SqQueue Data   :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 104
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 105
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 100
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 101
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 102
+++++++++++++++
StudentNum     : X666
StudentName    : Sun
StudentScore   : 103
+++++++++++++++
FrontIndex     : 4
RearIndex      : 4
SqQueueLen     : 6
2023-2--Debug--ElemType Data  :
StudentNum     : X666
StudentName    : Sun
StudentScore   : 104
http://www.dinnco.com/news/28606.html

相关文章:

  • 网站设计兼职重庆森林
  • 做旅游攻略去什么网站好seo搜索引擎优化案例
  • wordpress源码整合嘉兴seo网络推广
  • 天津网站建设方案咨询谷歌seo引擎优化
  • 给工厂做英文外贸网站天津百度推广排名优化
  • 网站建设 微信 app站内搜索引擎
  • 做的网站在不同浏览器搜索引擎优化的具体措施
  • 专业模板建站价格天津债务优化公司
  • 凡客家具是品牌吗西安做推广优化的公司
  • 揭阳企业自助建站系统seo和sem的关系
  • 图片站手机网站怎么做的百度问一问客服人工在线咨询
  • 找兼职做网站建设时事新闻热点
  • 05网伴你学淘宝seo优化
  • 高端公司网站建设网站seo优化分析
  • 建设一个网站的操作流程300字近三天新闻50字左右
  • 2023网络营销成功案例重庆整站seo
  • 2023年免费b站入口信息流优化师是什么
  • 附近广告公司喷绘刻字株洲企业seo优化
  • 路由器做网站服务器互联网营销方案
  • 长沙市网站制作公司网络营销策划书范文
  • 天津网站排名优化费用免费产品推广网站
  • 织梦可以做微网站吗西安百度
  • 电子商务网站建设项目规划书公司培训
  • 网站修改图片怎么做北京网站制作建设公司
  • 市场上网站开发价格西安百度竞价外包
  • 最近最火的电商平台是哪个百度seo优化是做什么的
  • 网站建设时时彩短视频推广渠道
  • 成都设计专业的装修公司百度小程序关键词优化
  • 网站搭建是哪个岗位做的事儿网络整合营销的特点有
  • h5网站开发中心企业如何网络推广