线性表xianxingbiao
最简单最常用的一种数据结构. 在许多数据处理任务中,会见到大量的表格,如财会部门的工资表,人事部门的职工情况表,学校中的学生管理表等. 线性表就是相应于这些表格的数据结构. 上面给出一张学生成绩表,表中每一行可作为线性表中的一个“数据元素”,或称之为一个“记录”.每个数据元素又由一个或多个 “数据项”组成,上表中每个数据元素含有9个数据项.
| 序号 | 学号 | 姓名 | 性别 | 年龄 | 语文 | 数学 | 历史 | 地理 |
| 1 | 9001 | 赵大毅 | 男 | 15 | 85 | 98 | 92 | 90 |
| 2 | 9002 | 钱 尔 | 男 | 14 | 75 | 80 | 78 | 82 |
| 2 | 9003 | 孙保山 | 男 | 15 | 90 | 92 | 91 | 93 |
| 4 | 9004 | 李 斯 | 女 | 14 | 92 | 93 | 95 | 95 |
| 5 | 9005 | 周 伍 | 男 | 14 | 91 | 87 | 87 | 80 |
| 6 | 9006 | 吴 柳 | 女 | 15 | 93 | 82 | 72 | 81 |
| 7 | 9007 | 郑玉奇 | 女 | 14 | 88 | 89 | 78 | 72 |
作为一种特殊情况,线性表也可以没有数据元素,称为 “空表”.
线性表有如下结构特性:
❶线性表是数据元素的一个有限序列,数据元素的个数n称为线性表的长度. 上述的学生成绩表记录了七名学生的成绩,长度n=7.
❷数据元素在线性表中的位置只取决于它们自己的序号,数据元素之间的相对位置是线性的. 除了第一个元素和最后一个元素之外,每个数据元素前面有一个数据元素 (称为直接前趋) 相邻,后面也有一个数据元素 (称为直接后继) 相邻.
在BASIC语言程序中,使用二维数组来实现线性表:
A (i,j)
i=1 ,2,…,n
j=1,2,…,m
式中 n——线性表的长度;
m——每个数据元素所包含的数据项个数;
1——数据元素的序号;
j——数据元素中的数据项号.
线性表有如下六种常见运算:
❶插入 在线性表中指定位置插入一个数据元素.
❷删除 删去线性表中指定序号的数据元素.
❸查找 在线性表中查找具有某个特性的数据元素. 比如,在学生成绩表中查找各门功课都在90分以上的学生名字.
❹排序 将无序的线性表按某种次序排列. 比如将学生成绩表按总分从大到小排序,可构成一张新表.
❺修改 修改某些数据项.
❻统计 例如统计每个学生的总分和平均分,统计不及格学生的百分比等.