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

今天处理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;
}


你可能感兴趣的:(数据结构)