⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds9.2.1.htm

📁 这是清华大学所用的数据结构的电子版教材
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<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 class="MsoNormal" align="center"><b><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman"><font size="6" color="#FFFF00">9.2.1  
顺序表的查找</font></span></b></p>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span style="mso-spacerun: yes" lang="EN-US">&nbsp;&nbsp;&nbsp; 
</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">顺序查找又称线性查找,是最基本的查找方法之一。本节中只讨论在顺序存储结构模块中的实现;</span></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b>/*静态查找表的顺序存储结构*/</b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b>typedef 
struct {</b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b>&nbsp;&nbsp; 
ElemType *elem;</b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b>&nbsp;&nbsp; 
int length; /*表长*/</b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b>}SSTable;</b></font></p>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><b><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">&nbsp; 
其查找方法为:从表的一端开始,向另一端逐个按给定值</span><span lang="EN-US">kx</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与</span><span lang="EN-US">kx</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">相同的关键码,则查找失败,给出失败信息。</span></b></font><span lang="EN-US"><font color="#FFFFFF" size="5"><b>&nbsp;<o:p>
</o:p>
</b></font></span></p>
<p class="MsoNormal"><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;"><font size="5"><b><font color="#FFFFFF">【算法</font></b></font></span><font size="5"><b><font color="#FFFFFF"><span lang="EN-US">9.1</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">】</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><font size="5"><b><font color="#FFFFFF">int<span style="mso-spacerun: yes">&nbsp;&nbsp; 
</span>s_search(<span style="mso-spacerun: yes">SSTable&nbsp; </span></font></b></font></span><font size="5"><b><font color="#FFFFFF"><span lang="EN-US">ST</span><span style="font-family:宋体;
mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">KeyType<span style="mso-spacerun: yes">&nbsp; 
</span>key)</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font size="5"><b><font color="#FFFFFF">&nbsp;</font></b></font></span><font size="5"><b><font color="#FFFFFF">{<span style="mso-spacerun: yes">&nbsp;&nbsp; 
</span></font></b></font></span><font size="5"><b><font color="#FFFFFF"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.6pt">/</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt">*</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; letter-spacing: -.2pt">在表ST中查找关键码为</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt">key</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; letter-spacing: -.2pt">的数据元素,若找到返回该元素在数组中的下标,否则返回</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt">0 
*/</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.6pt"><o:p>
</o:p>
</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font size="5"><b><font color="#FFFFFF">&nbsp;&nbsp; 
</font></b></font></span><font size="5"><b><font color="#FFFFFF">ST.elem[0].key 
= </font></b></font></span><font size="5"><b><font color="#FFFFFF"><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">key;</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt">/* 
</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; letter-spacing: -.2pt">存放监测,这样在从后向前查找失败时,不必判表是否检测完,从而达到算法统一</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt">*/</span><span style="mso-spacerun: yes; mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt" lang="EN-US"> 
</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt"> 
</span><span style="mso-spacerun: yes; mso-bidi-font-size: 10.0pt; letter-spacing: -.2pt" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</span></font></b></font><span lang="EN-US"><font size="5"><b><font color="#FFFFFF">&nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -