天天看點

删除順序表s-t之間的元素

//算法思想:從前向後掃描順序表L,用K記錄下元素範圍的個數,若不在内,則前移k個位置;否則執行k++;
bool Del_s_t(SqList& L, int s, int t) {
  int k = 0;
  if (L.length==0||s>t)
  {
    return false;
  }
  for (int i = 0; i < L.length; i++)
  {
    if (L.data[i]>=s&&L.data[i]<=t)
    {
      k++;//記錄範圍的元素
    }
    else
    {
      L.data[i - k] = L.data[i];//前移進行覆寫
    }
  }
  L.length -= k;
  return true;
}