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

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];
}
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/ITXiaoAng/p/13583815.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!