数据结构:线性表删除操作的php和js实现

来源:互联网 发布:apache ab下载 编辑:程序博客网 时间:2024/06/07 18:11

今天处理js的时候,我想摘除数组里的一个元素,然后保持队列不变化,并且长度减一,js只有shift,不符合我的要求,只删除数组元素,值设为空了,并且长度不变化。所以自己实现了一个线性表的删除操作。

没办法,临时看了篇数据结构的文章:http://student.zjzk.cn/course_ware/data_structure/web/xianxingbiao/xianxingbiao2.2.2.2.htm

写下了如下算法,有js版和php版,原理一样,就是数组元素从后往前移,覆盖掉需要删除的节点,然后总数减少,js和php实现机制稍微不同。

[  PHP版 ]

function delete_array_element($array, $i)
{
  $len = count($array); 
  for ($j=$i; $j<$len; $j++)
  {
    $array[$j] = $array[$j+1];
  }
  array_pop($array);
  return $array;
}

[  JavaScript版 ]

function delete_array_element(arrayData, i){
 var j;
 for(j=i; j<arrayData.length; j++){
  arrayData[j] = arrayData[j+1];
 }
 --arrayData.length;
 return arrayData;
}


 

原创粉丝点击