数据结构之线性表的逻辑结构[3]
初始条件 线性表L存在
操作结果 在表L中查找值为x的数据元素 其结果返回在L中首次出现的值为x的那个元素的序号或地址 称为查找成功; 否则 在L中未找到值为x的数据元素 返回一特殊值表示查找失败
⑸ 插入操作 Insert_List(L i x)
初始条件 线性表L存在 插入位置正确 ( <=i<=n+ n为插入前的表长)
操作结果 在线性表L的第 i 个位置上插入一个值为 x 的新元素 这样使原序号为 i i+ n 的数据元素的序号变为 i+ i+ n+ 插入后表长=原表长+
⑹ 删除操作 Delete_List(L i)
初始条件 线性表L存在 <=i<=n
操作结果 在线性表L中删除序号为i的数据元素 删除后使序号为 i+ i+ n 的元素变为序号为 i i+ n 新表长=原表长
需要说明的是
某数据结构上的基本运算 不是它的全部运算 而是一些常用的基本的运算 而每一个基本运算在实现时也可能根据不同的存储结构派生出一系列相关的运算来 比如线性表的查找在链式存储结构中还会有按序号查找; 再如插入运算 也可能是将新元素x插入到适当位置上等等 不可能也没有必要全部定义出它的运算集 读者掌握了某一数据结构上的基本运算后 其它的运算可以通过基本运算来实现 也可以直接去实现
在上面各操作中定义的线性表L仅仅是一个抽象在逻辑结构层次的线性表 尚未涉及到它的存储结构 因此每个操作在逻辑结构层次上尚不能用具体的某种程序语言写出具体的算法 而算法的实现只有在存储结构确立之后
lishixinzhi/Article/program/sjjg/201311/23934
2024-10-13 广告