晋江文学城
下一章 上一章  目录  设置

2、线性表之顺序表 定义:相同 ...

  •   定义:相同数据类型,有限序列(有次序)
      InitList(&L):初始化表,分配内存空间
      DestroyList(&L):销毁,释放内存空间
      Listinsert(&L.i.e):插入
      ListDelete(&L.i&e):删除
      LocateElem(L.e):按值查找
      GatElem(L.i):按位查找
      线性表存储分顺序表(顺序存储)和链表(链式存储)。
      (1)顺序表:逻辑相邻,物理位置相邻。
      sizeof(ElemType):得知数据元素大小
      eg:sizeof(int)=4B

      1.1顺序表存在两种分配方式,即静态分配(静态数组)与动态分配(动态指针)
      malloc函数(动态申请)
      free函数(释放)  L.data=(ElemType*)malloc(sizeof(ElemType)*size)

      1.2顺序表的插入与删除
      1.2.1Listinsert(&L.i.e):插入,在第i个位置插入元素e
      eg:在第三个位置插入元素,即第三个及第三个以后的元素后移(相当于在第二个与第三个元素之间插入新元素
      代码实现:
      for(int j=L.length;j>=i;j--) //从最后一个元素开始向前遍历,遍历到第i-1个位置
      L.data[j]=L.data[j-1] //注:数组从[0]开始
      1.2.2ListDelete(&L.i&e):删除,删除第i个位置元素
      代码实现:
      for(int j=i;j  L.data[j-1]=L.data[j] //注:数组从[0]开始
      1.3顺序表查找
      LocateElem(L.e):按值查找,获取第i个位置元素即data[i-1]
      GatElem(L.i):按位查找,时间复杂度为O(n)

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>