学习了线性表之后发现删除的方式有多种多样,同时出题的方式也千奇百怪。

首先是最简单的删除:把要删除元素之后的元素全部往前挪,将欲删除的覆盖掉。

但是这种删除方式的局限性太大了,首先就是时间复杂度,这个算法的时间复杂度为O(n^2).

bool Delete( List L, Position P )
{
    int i;
    if(P>=L->Last||P<0)
    {
        printf("POSITION %d EMPTY",P);
        return false;
    }
        L->Last--;//这里的Last是指长度了
    for(i=P;i<L->Last;i++)
        L->Data[i]=L->Data[i+1];
    return true;
}
简单删除

相关文章:

  • 2021-08-21
  • 2022-12-23
  • 2021-04-29
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
猜你喜欢
  • 2021-11-07
  • 2021-09-02
  • 2021-06-17
  • 2021-07-08
  • 2022-12-23
相关资源
相似解决方案