计算机基础数据结构讲解第六篇-顺序表操作

  上一篇介绍了顺序表的有关定义及其及其简单的插入,删除,按值查找操作,这一篇将介绍顺序表的其他操作。

1.顺序表的初始化

  静态存储顺序表初始化:

void Initlist(SqList &L){
  for(int i = 0;i < L.MaxSize;i++){
    L.data[i] = 0;    //所有数据元素初值设为0
  }
  L.length = 0;       //数据元素初始长度为0,覆盖脏数据
}

  动态存储顺序表初始化:

void Initlist(SeqList &L){
  //用malloc申请一片地址连续的存储空间
  L.data = (ElemType*)malloc(sizeof(ElemType) * InitSize);
  L.length = 0;
  L.MaxSize = InitSize;
}

2.动态顺序表增加数组长度

bool IncreaseList(SeqList &L,int len){
  ElemType *p = L.data;
  L.data = (ElemType*)malloc(sizeof(ElemType) * (L.MaxSize + len));
  for(int i = 0;i < L.length;i++){
    L.data[i] = p[i];
  }
  L.MaxSize = L.MaxSize + len;
  free(p);
}

3.顺序表的按位查找

ElemType GetElem(SeqList L,ElemType e){
  return L.data[i-1];
}
posted @ 2020-08-29 22:35  一只帅气的IT小昂  阅读(258)  评论(0编辑  收藏  举报