大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>算法与技巧>>数据结构-线性表 (一)         本站全文搜索: 友情提示:

数据结构-线性表 (一)
http://www.mydrs.org  5/27/2001  大榕树


概述
线性表(Linear List)是最常用且比较简单的一种数据结构,它是由有限个数据元素组成的有序集合,每个数据元素由一个或多个数据项组成。比如:26个英文字母的字母表(A,B,C,……Z)是一个线性表,表中每个元素由单个字母字符组成数据项。
线性表具有如下的结构特点:
1.均匀性:虽然不同数据表的数据元素可以是各种各样的,但对于同一线性表的各数据元素必定具有相同的数所类 长度。
2.有序性:各数据元素在线性表中的位置只取决于它们的序与,数据元素之前的相对位置是线性的,即存在唯一的“第一个“和“最后一个“的数据元素,除了第一个和最后一个外,其它元素前面均只有一个数据元素直接前趋和后面均只有一个数据元素(直接后继)。
在实现线性表数据元素的存储方面,一般可用顺序存储结构和链式存储结构两种方法。链式存储结构将在本网站线性链表中介绍,本章主要介绍用数组实现线性表数据元素的顺序存储及其应用。另外栈.队列和串也是线性表的特殊情况,又称为受限的线性结构。

数组
几乎所有的程序评议都定义数组为一种因有的数据类型,事实上数组本身就具有线性表的性质。比如,一维数,它的每个数组无素对应于一个下标;二维数组,它的每个数组元素对应于一对下标;对于n维数组,它的每个元素对应一组n个下标。而数组元素的数据类型总是相同的,元素的有序性可由下标的顺序关系来确定。但是数组与一般 的线性表不同,数组一般不作插入和删除操作,而通常只定义两种操作,即对于给定的下标读取和修改相应的数组元素的值。
例如:设A为一个一维数组,数组类型为atype,
一维数组的每个数组下标对应线性表的一个元素,假设ie[c..d],则有A[c]为线性表的第一个元素,A[d]为线性表的最后元素,A[i]的直接前趋为A[i-1],直接后继为A[i+1],其中第一个元素只有直接后继,最后元素只有直接前趋。
它的每个元在存储空间中的地址可通过下式计算:
loc(ai)=loc(ac)+(i-c)L
其中loc(ai)表示第i个元 A[i]的地址,loc(ac)为第一个元素A[c]的地址,称为“基地址“,L为每个数组元素所占用的存储单元数。没n=d-c+1则各元素对应的存储单元的关系如图2.2所示。
从三维数组的地址公式,可以推广到n维数组,没数组为A[c1..d1,c2..d2,…cn..dn],如果每个数组元素占用L个存储单元,并设i1[c1..d1],i2[c2..d2],…in[cn..dn],则三维数组任一元素的存储空间地址可通过下式计算:
</P><P>

作 者:联合空间网络工作室
来 源:cpascal.com
共有7161位读者阅读过此文

  • 上篇文章Pascal基本教程 第一章
  • 下篇文章数据结构-线性表 (二)

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8306]
    2. 七类高中生具有保送资格 [5910]
    3. NOI2006获奖选手名单 [4955]
    4. 关于举办NOIP2006模拟赛的通告 [4106]
    5. Turbo Pascal各语句运行速... [3594]
    6. Turbo王者归来新Delphi免费... [3181]
    7. IOI2006我国4名选手全部获得金... [2945]
    8. 关于APIO2007与IOI2007... [2763]
    9. noip倒计时 by 枯叶蝴蝶 [2683]
    10. 朱泽园:思想上的金牌更重要 [2168]
    谈谈数据结构
    趣谈数据结构(七)
    趣谈数据结构(六)
    趣谈数据结构(五)
    趣谈数据结构(四)
    趣谈数据结构(三)
    趣谈数据结构(二)
    趣谈数据结构(一)
    实数类型
    数据结构-线性表 (三)
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号