zoukankan      html  css  js  c++  java
  • 第2章 线性表 2.1 线性表的类型定义

    12种抽象数据类型线性表的定义如下:

    ADT List{
    DataObject:D={a[i]|a[i]属于ElemSet,i=1,2,...,n, n>=0}
    DataRelation:R1={<a[i-1],a[i]>|a[i-1],ai属于D,i=2,...,n}

    InitList(&L)
     操作结果:构造一个空的线性表L。

    DestroyList(&L)
     初始条件:线性表L已经存在。
     操作结果:销毁线性表L。
     
    ClearList(&L)
     初始条件:线性表L已经存在。
     操作结果:将线性表L重置为空表。

    ListEmpty(L)
     初始条件:线性表L已经存在。
     操作结果:若L为空表,则返回true,否则返回false。

    ListLength(L)
     初始条件:线性表L已经存在。
     操作结果:返回L中元素的个数。

    GetElem(L,i,&e)
     初始条件:线性表L已经存在,i≤i≤ListLength(L)。
     操作结果:用e返回L中的第i个数据元素的值。

    LocateElem(L,i,&e)
     初始条件:线性表L已经存在,compare()是数据元素判定函数。
     操作结果:返回线性表L中第一个与e满足关系compare()的数据元素的位序。
          若这样的数据元素不存在,则返回值为0。

    PriorElem(L,cur_e,&pre_e)
     初始条件:线性表L已经存在。
     操作结果:若cur_e是表L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义。

    NextElem(L,cur_e,&next_e)
     初始条件:线性表L已经存在。
     操作结果:若next_e是表L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义。

    ListInsert(&L,i,e)
     初始条件:线性表L已经存在,1≤i≤ListLength(L)+1。
     操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1。

    ListDelete(&L,i,&e)
     初始条件:线性表L已经存在,1≤i≤ListLength(L)。
     操作结果:删除L中第i个数据元素,并用e返回其值,L的长度减1。

    ListTraverse(L,visit())
     初始条件:线性表L已经存在。
     操作结果:依次对L的每个数据元素调用visit()。一旦visit()失败,则操作失败。

    }ADT List

  • 相关阅读:
    训练网络考虑内容
    阿斯顿
    wifi 模块Yeelink联网
    fpga串口通信的verilog驱动
    vga显示彩条
    状态机之二段式
    矩阵键盘
    error
    时钟
    Error(10028)
  • 原文地址:https://www.cnblogs.com/ctoroad/p/229509.html
Copyright © 2011-2022 走看看