[原创] 一个用来删除线性表重复元素的算法

由于我C不行,所以就用PHP来实现了,嘿嘿

这个程序应该还可以再优化, 哪位高人给指点一下吧

有线性表 L0,L1,L2 三个线性表

要求将三个线性表中重复的元素删除,已知线性表的元素类型为 整型 且 按值的大小 升序排列

// a b c 为三个线性表的游标
$a = 0; $b = 0; $c = 0;
while ( 1 ) {
if ( !isset($L0[ $a ]) || !isset($L1[ $b ]) || !isset($L2[ $c ]) )
break;
if ( $L0[ $a ] == $L1[ $b ] && $L1[ $b ] == $L2[ $c ] )
unset( $L0[ $a ] );
$a++;
while ( $L1[ $b ] < $L0[ $a ] && isset($L1[ $b ]) )
$b ++;
while ( $L2[ $c ] < $L0[ $a ] && isset($L2[ $c ]) )
$c ++;
}

Read: 853

2 thoughts on “[原创] 一个用来删除线性表重复元素的算法

  1. kimmy

    话说php里没有线性表这个概念的吧,除非是你自己创建的一个class NodeList之类的。

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注