Diff


C++でdiffのようなものを書いた。
いや、正確にはdiffするのに必要な情報を出力するだけだが。

narazuya@bokkko% ./diff abc abd
editDistance :  2
LCS :  ab
SES
C a
C b
D c
A d
narazuya@bokkko% ./diff abcdef def
editDistance : 3
LCS : def
SES
D a
D b
D c
C d
C e
C f
narazuya@bokkko% ./diff abcdef acbfed
editDistance : 6
LCS : acf
SES
C a
D b
C c
D d
D e
A b
C f
A e
A d
narazuya@bokkko%   

実際のコードでは、LCS*1とSES*2を記録する際に、
vedtorにpush_backしまくってるので、効率がよくない。
というか、効率的な方法が思い浮かばなくて唸っているところ。

*1:Long Common Subsequence

*2:Short Edit Script