📄 ds3.3.1.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>数 据 结 构</title>
<meta name="Microsoft Theme" content="hounk 010">
</head>
<body background bgcolor="#000099" text="#CCCC99" link="#FF9900" vlink="#996600" alink="#FF3300">
<!--mstheme--><font face="宋体"><p:colorscheme
colors="#0000FF,#FFFFFF,#000000,#FFCC66,#00FFFF,#3366FF,#FF0033,#FFFF00"/>
<p align="center"><b><font size="6"><font face="oúì?,SimHei" lang="ZH-CN" color="#FFFFFF">3.3.1</font>
</font></b><font size="6">
<b><font face="oúì?,SimHei" lang="ZH-CN" size="5" color="#FFFFFF">队列的定义及基本运算</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">
前面所讲的栈是一种后进先出的数据结构,而在实际问题中还经常使用一种“先进先出”</font><font color="#FFFFFF">(FIFO)<font FACE="??ì?,SimSun" LANG="ZH-CN">的数据结构:即插入在表一端进行,而删除在表的另一端进行,我们将这种数据结构称为队或队列,把允许插入的一端叫队尾</font>(rear)
<font FACE="??ì?,SimSun" LANG="ZH-CN">,把允许删除的一端叫队头</font>(front)<font FACE="??ì?,SimSun" LANG="ZH-CN">。如图</font>3.11<font FACE="??ì?,SimSun" LANG="ZH-CN">所示是一个有</font>5
<font FACE="??ì?,SimSun" LANG="ZH-CN">个元素的队列。入队的顺序依次为</font>a<sub>1</sub><font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>
a<sub>2</sub> <font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>a<sub>3</sub> <font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>a<sub>4
</sub><font FACE="??ì?,SimSun" LANG="ZH-CN">、</font><sub> </sub>a<sub>5</sub>
<font FACE="??ì?,SimSun" LANG="ZH-CN">,出队时的顺序将依然是</font>a<sub>1</sub><font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>
a<sub>2</sub> <font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>a<sub>3</sub> <font FACE="??ì?,SimSun" LANG="ZH-CN">、</font>a<sub>4
</sub><font FACE="??ì?,SimSun" LANG="ZH-CN">、</font><sub> </sub>a<sub>5</sub>
<font FACE="??ì?,SimSun" LANG="ZH-CN">。</font></font></b></font></p>
<font SIZE="3">
<p ALIGN="center"><img border="0" src="ds3.3.1.gif" width="353" height="78"></p>
<p ALIGN="JUSTIFY"></font><font FACE="??ì?,SimSun" LANG="ZH-CN" color="#FFFFFF" size="5"><b>
显然,队列也是一种运算受限制的线性表,所以又叫先进先出表。在日常生活中队列的例子很多,如排队买东西,排头的买完后走掉,新来的排在队尾。</b></font></p>
<p ALIGN="JUSTIFY"><font FACE="??ì?,SimSun" LANG="ZH-CN" color="#FFFFFF" size="5"><b>在队列上进行的基本操作有:</b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">⑴ 队列初始化:</font><font color="#FFFFFF">Init_Queue(q)</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">初始条件:</font><font color="#FFFFFF">
<font FACE="??ì?,SimSun" LANG="ZH-CN">队</font>q</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">不存在。</font></font></b></font></p>
<p ALIGN="JUSTIFY"><font color="#FFFFFF" size="5" FACE="??ì?,SimSun" LANG="ZH-CN"><b>操作结果: 构造了一个空队。</b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">⑵ 入队操作: </font><font color="#FFFFFF">In_Queue(q,x),</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">初始条件: 队</font><font color="#FFFFFF">q</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">存在。</font></font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">操作结果: 对已存在的队列</font><font color="#FFFFFF">q<font FACE="??ì?,SimSun" LANG="ZH-CN">,插入一个元素</font>x</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">到队尾,队发生变化。</font></font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">⑶ 出队操作: </font><font color="#FFFFFF">Out_Queue(q,x)</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">初始条件</font><font color="#FFFFFF">:
<font FACE="??ì?,SimSun" LANG="ZH-CN">队</font>q</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">存在且非空</font></font></b></font></p>
<p ALIGN="JUSTIFY"><font color="#FFFFFF" size="5" FACE="??ì?,SimSun" LANG="ZH-CN"><b>操作结果: 删除队首元素,并返回其值,队发生变化。</b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">⑷ 读队头元素:</font><font color="#FFFFFF">Front_Queue(q,x)</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">初始条件</font><font color="#FFFFFF">:
<font FACE="??ì?,SimSun" LANG="ZH-CN">队</font>q</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">存在且非空</font></font></b></font></p>
<p ALIGN="JUSTIFY"><font color="#FFFFFF" size="5" FACE="??ì?,SimSun" LANG="ZH-CN"><b>操作结果: 读队头元素,并返回其值,队不变;</b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">⑸ 判队空操作:</font><font color="#FFFFFF">Empty_Queue(q)</font></b></font></p>
<p ALIGN="JUSTIFY"><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">初始条件: 队</font><font color="#FFFFFF">q</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">存在</font></font></b></font></p>
<p><font size="5"><b><font color="#FFFFFF" FACE="??ì?,SimSun" LANG="ZH-CN">操作结果: 若</font><font color="#FFFFFF">q<font FACE="??ì?,SimSun" LANG="ZH-CN">为空队则返回为</font>1<font FACE="??ì?,SimSun" LANG="ZH-CN">,否则返回为</font>0</font><font FACE="??ì?,SimSun" LANG="ZH-CN"><font color="#FFFFFF">。</font></font></b></font></p>
<p align="left"> </p>
<p align="center"><b><a href="ds3.3.HTM"><font size="5" color="#FFFF00">返回</font></a></b></p>
<!--mstheme--></font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -