数据结构课件第8章 查找表(简).PPT
《数据结构课件第8章 查找表(简).PPT》由会员分享,可在线阅读,更多相关《数据结构课件第8章 查找表(简).PPT(128页珍藏版)》请在文库网上搜索。
1、净眀(囔熴堶熴讀缁H缀窢挨澊唀椀椂鴃鴃鴃鬛瀝湥葾鑓靵奬瀀湥葾彧繧桢悈顎瀀瀀琀戀昀搀昀挀昀昀攀最椀昀瀀湥葾鑓靵奬灲湥葾彧繧桢悈顎瀀瀀琀尀尀愀戀搀昀挀戀昀攀昀挀最栀稀伀儀砀渀娀洀樀琀愀刀戀唀稀礀娀娀昀欀最砀稀伀伀欀挀眀瀀湥葾鑓靵奬瀀湥葾彧繧桢悈顎瀀湥葾鐀需夀繧怀顎暘昀愀攀搀戀搀昀搀搀挀挀繧桢悈顎愀戀挀搀攀昀最怀顎氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀繧昀繧攀繧最怀顎氀漀眀洀椀搀栀椀最栀匀猀甀挀挀怀顎匀猀甀挀挀愀渀攀戀愀爀甀渀攀甀氀礀瀀爀愀礀甀最匀攀瀀伀挀琀一漀瘀攀挀怀顎匀猀甀挀挀甀氀礀攀挀愀礀甀渀攀愀渀瀀爀伀挀琀攀
2、戀匀攀瀀一漀瘀愀爀甀最瀀爀甀最攀挀攀戀愀渀甀氀礀甀渀攀愀爀愀礀一漀瘀伀挀琀匀攀瀀怀顎琀礀瀀攀搀攀昀猀琀爀甀挀琀一漀搀攀笀氀攀洀吀礀瀀攀搀愀琀愀猀琀爀甀挀琀一漀搀攀渀攀砀琀紀一漀搀攀椀渀欀椀猀琀琀礀瀀攀搀攀昀猀琀爀甀挀琀笀一漀搀攀栀栀T一漀搀攀琀琀繧葢紀匀椀猀琀怀顎一漀搀攀匀攀愀爀挀栀开匀椀猀琀匀椀猀琀攀氀猀攀椀昀琀最琀搀愀琀愀最琀欀攀礀昀漀爀瀀栀瀀最琀搀愀琀愀欀攀礀瀀瀀最琀渀攀砀琀攀氀猀攀昀漀爀瀀琀瀀最琀搀愀琀愀欀攀礀瀀瀀最琀渀攀砀琀琀瀀瑥衣爀攀琀甀爀渀瀀紀匀攀愀爀挀栀开匀椀猀琀遒蹵顎驐繧齢葒靧獧蹑縀蒍怀顎怀顎欀欀伀搀椀椀欀伀椀洀瀀捓腑椀椀搀椀伀猀垕轛伀伀伀伀伀搀伀伀搀伀伀搀伀伀搀伀匀猀甀挀挀
3、怀顎湨殈偖葛驶靓桟羈涕搀浓烿瀀欀猀垕陛垙轫u腑葺掐桒猀垕轛娀伀儀一匀唀一娀伀唀圀唀一圀一一伀夀一一一伀倀儀刀匀吀唀嘀圀堀夀娀夀一娀伀唀一一伀一儀一匀唀一圀唀娀伀怀顎娀伀儀一匀唀一娀伀唀椀娀伀唀搀椀伀圀唀一椀一搀椀伀圀一椀圀一搀椀伀一椀一搀椀伀伀椀伀搀椀伀夀一椀夀一搀椀伀一匀猀甀挀挀怀顎塬葾琀礀瀀攀搀攀昀猀琀爀甀挀琀笀氀攀洀吀礀瀀攀搀愀琀愀一漀搀攀渀攀砀琀紀一漀搀攀一漀搀攀瀀琀爀琀礀瀀攀搀攀昀猀琀爀甀挀琀笀一漀搀攀瀀琀爀攀氀攀洀椀渀琀挀漀甀渀琀喋灟椀渀琀猀椀稀攀椀渀搀攀砀桞紀愀猀栀吀愀戀氀攀怀顎匀琀愀琀甀猀甀椀氀搀开愀猀栀愀猀栀吀愀戀氀攀吀攀氀攀洀渀攀眀一漀搀攀瀀琀爀嬀洀崀桺衣昀漀爀椀椀氀琀洀椀
4、吀攀氀攀洀嬀椀崀一唀吀挀漀甀渀琀吀猀椀稀攀椀渀搀攀砀洀攀礀吀礀瀀攀欀攀礀挀漀甀琀氀琀最琀欀攀礀眀栀椀氀攀欀攀礀焀最琀渀攀砀琀一唀怀顎渀欀攀礀椀昀吀攀氀攀洀嬀渀崀吀攀氀攀洀嬀渀崀焀尀梔蒈攀氀猀攀笀昀漀爀瀀吀攀氀攀洀嬀渀崀瀀最琀渀攀砀琀瀀瀀最琀渀攀砀琀瀀最琀渀攀砀琀焀散梔紀吀挀漀甀渀琀挀椀渀最琀最琀欀攀礀紀眀栀椀氀攀爀攀琀甀爀渀伀紀甀椀氀搀开愀猀栀伀傛絛葙v艼葭蝶肕砀瘀樀氀刀夀洀礀爀圀圀昀椀愀戀夀砀瀀堀倀最琀爀焀琀堀礀欀吀焀眀儀瀀愀唀倀戀洀挀稀唀繧桢悈顎愀戀挀搀攀昀最怀顎氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀愀戀挀搀攀昀最氀漀眀洀椀搀栀椀最栀繧昀繧
5、攀繧最怀顎氀漀眀洀椀搀栀椀最栀匀猀甀挀挀怀顎匀uot;) F2.WriteLine(床前明月光,疑是地上霜。) F2.WriteLine(举头望明月,低头思故乡。) MsgBox(文件已建立!) F2.Close() 关闭与输出流类对象F2关联的文件 End Sub End Class 8.4.2 StreamReader类 StreamReader类主要用来从文本文件读取数据。 1StreamReader类的构造函数 StreamReader类构造函数主要有两种格式。 格式1:Public Sub New( stream As Stream ) 功能:把参数stream指定的流对象初始化为S
6、treamReader 类的新实例。 格式2:Public Sub New( path As String ) 功能:把参数path指定的文件初始化为StreamReader类的 新实例。 这种流类新实例(对象) 既可以与文件流对象相关联, 也可以直接与外部文件相关联。 对文本文件进行读操作,需调用StreamReader类构造函数 ,创建StreamReader类对象。 语法格式: Dim As New StreamReader( ) 或 Dim As New StreamReader( ) 例如,若要打开文本文件“D:File1.txt”,准备进行 读操作,可以用以下两种方式建立Strea
7、mReader流对象。 首先建立FileStream类对象打开文件,然后使用 FileStream类对象调用StreamReader构造函数建立 StreamReader对象: Dim FS As New FileStream( D:File1.txt , FileMode.Open ) Dim SW As New StreamReader(FS) 直接调用StreamReader构造函数打开文件,建立 StreamReader对象: Dim SW As New StreamReader(D:File1.txt) 2StreamReader类的常用方法 (1)Read方法 Read方法用来从文
8、本文件里面读取字符。 格式:Public Overrides Function Read() As Integer 功能:读取输入流类对象中当前位置的一个字符,并使流 的当前位置提升一个字符,也就是说,使“流指针”指向下一 个字符。 该方法返回一个整数(ASC码) ,在到达流的末尾时返回 -1。 例如,下面语句: Dim chrA,chrB,chrC As Char chrA =F3.Read() chrB =F3.Read() chrC= F3.Read() 功能:从输入流类对象F3中读取前3个字符分别存放到字 符变量chrA、chrB和chrC中。 (2)ReadLine方法 ReadLi
9、ne方法从文本文件读取一行字符。 格式:Public Overrides Function ReadLine()As String 功能:从输入流类对象当前位置开始读入一行字符,并将该 行字符作为字符串返回,返回的字符串不包含回车换行符。 如果当前位置为输出流的末尾,则返回值为Nothing(空引 用)。 (3)Peek方法 格式:Public Overrides Function Peek() As Integer 功能:返回流中当前位置的字符的整数值(ASC码),但 一般不使用它。 如果没有可读取的字符,则返回-1。 说明: Peek方法不会改变输入流的当前位置。 (4)ReadToEnd
10、方法 格式:Public Overrides Function ReadToEnd() As String 功能:从输入流类对象当前位置开始读入字符,直到文件的末 尾,并把所读取的字符作为字符串返回。 如果当前位置位于流的末尾,则返回空字符串 ()。 例8-3 Read方法的测试。从文件“D:File1.txt”中 读出字符在TextBox1文本框中显示。 Imports System.IO Public Class Form1 Private Sub Form1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Hand
11、les Me.Click Dim F3 As New StreamReader(D:File1.txt) Dim chrA As Char Do While F3.Peek() -1 chrA = Chr(F3.Read() TextBox1.Text = TextBox1.Text & chrA Loop F3.Close() End Sub End Class 例8-4 ReadLine方法的测试。从“D:File2.txt”文 件中读出内容并在TextBox1文本框中显示。 Imports System.IO Public Class Form1 Private Sub Form1_Cl
12、ick(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Click Dim F4 As New StreamReader(D:File2.txt) Dim line As String line = F4.ReadLine() Do While line Nothing TextBox1.Text = TextBox1.Text & line & vbCrLf line = F4.ReadLine() Loop F4.Close() End Sub End Class 例8-4 ReadLine方法的测试。从“
13、D:File2.txt”文 件中读出内容并在TextBox1文本框中显示。 Imports System.IO Public Class Form1 Private Sub Form1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Click Dim F4 As New StreamReader(D:File2.txt) Dim line As String line = F4.ReadLine() Do While line Nothing TextBox1.Text = TextBox1.Te
14、xt & line & vbCrLf line = F4.ReadLine() Loop F4.Close() End Sub End Class line = F4.ReadToEnd() TextBox1.Text = line 8.5 读/写二进制文件 读/写二进制文件也需要建立FileStream类对象以 打开文件,并使用BinaryReader类和BinaryWriter类 对象来读/写数据。 8.5.1 BinaryWriter类 1BinaryWriter类的构造函数 BinaryWriter类构造函数有多个重载版本,下面仅 介绍常用的格式及其功能。 格式1:Public Sub
15、 New(output As Stream) 功能:把参数output指定的输出流,用UTF-8编码初 始化为BinaryWriter类新实例。 格式2:Public Sub New(output As Stream, encoding As Encoding ) 功能:把参数output指定的输出流,以encoding参 数指定的编码方式初始化为BinaryWriter类新实例。 encoding参数用来指定输出流的编码方式。 例如,Encoding.ASCII、Encoding.Unicode和 Encoding.UTF8等3种不同的字符编码方式。 要操作二进制文件,先要打开文件,即创建F
16、ileStream类 对象,并建立该文件流对象与实际文件的关联。 这个流对象就是构造BinaryWriter类对象的output参数。 调用BinaryWriter类构造函数,创建BinaryStream类对象 ,建立文件流对象与实际文件的关联,语法格式: Dim As New BinaryWriter(,) 例如,打开一个二进制文件“D: File3.dat”,准备进 行写操作,要执行以下语句: Dim FS As New FileStream(D:File3.dat, FileMode.Create,FileAccess.Write) Dim BW As New BinaryWriter(
17、FS) 执行以上两个语句后,BinaryWriter类对象BW建立了与流 对象FS的关联,以后就可以对实际文件“D:t / 串的链表结构 Chunk *head, *tail; / 串的头和尾指针 int curlen; / 串的当前长度 LString; 在以链表存储串值时, 结点大小的选择将直接影响串处理 的效率。定义串的存储密度: 存储密度=串值所占的存储位/实际分配的存储位 显然,存储密度小(如结点大小为1),操作方便,然而存储占用量大 。 例如: 在编辑系统中,整个文本编辑区可以看成是一个串,每 一行是一个子串,构成一个结点。即: 同一行的串用定长结构 (80个字符), 行和行之间用
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
100 文币 0人已下载
下载 | 加入VIP,免费下载 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课件 第8章 查找表简 数据结构 课件 查找