数据结构-----线性表

              定义顺序表的结构

  用数组来模拟顺序表的保存形式,在顺序表中还需定义一个变量,用来保存顺序

表中已有元素的数量。

  typedef  struct             //定义顺序表结构

  {

    DATA    ListData[MAXSIZE+1];     //保存顺序表的数组

    int        ListLen;                         //顺序表已存节点的数量

  }SeqListType;

 

(1):初始化顺序表

  void SeqListInit(SeqListType *SL);

 

(2):返回顺序表的元素数量

     int SeqListLength(SeqListType *SL);

 

(3):向顺序表中添加元素

  int SeqListAdd(SeqListType *SL,DATA data);

 

(4):向顺序表中插入元素

      int SeqListInsert(SeqListType *SL,int n,DATA data);

 

(5):删除顺序表中的数据元素

      int SeqListDelete(SeqListType *SL,int n);

 

(6):根据序号返回元素

     DATA *SeqListFindByNum(SeqListType *SL,int n);

 

(7):按关键字查找

  int SeqListFindByCont(SeqListType *SL,char *key);

 

(8):遍历顺序表中的内容

     int SeqListAll(SeqListType *SL);

 

 

   不足之处是:顺序表是按顺序将数据保存到内存中,因此在顺序表中

存取数据很方便,但在插入数据时,需要移动大量的数据,最坏的情况下,如果每次都是要在顺序表的首位置插入元素,则需要将顺序表中所有元素都向后移,效率非常低。

 

posted on 2015-08-05 16:33  kiss.liu  阅读(215)  评论(0编辑  收藏  举报