�@UNIX��diff�R�}���h���������ł��傤���B�e�L�X�g���m���r���ĈႢ��\������R�}���h�ł��B
�@EC�T�C�g�̑����ł́A���i�̊��z�̏������@�\������܂��B���z���������܂ꂽ�Ƃ��́A���̂܂܌f�ڂ����A�T�C�g�^�c�҂����e���`�F�b�N���Ă���뎚�E���Ȃǂ��Z�����܂��B���̍Z���̂Ƃ��ɁAdiff�Ɠ����悤�ɕύX�O�ƕύX��̍�����\�����Ă���m�F����@�\������ƕ֗��ł��B
�@����������������r�́A�ꌩ�Ђ����瑍����œD�L���v���O�����ɂȂ��Ă������ł��B�������A���͔��ɃX�}�[�g�ȃA���S���Y���Ŏ�������Ă��܂��B���̃A���S���Y���̓G�f�B�b�g�O���t�Ƃ����}�𗘗p������̂ł��B
�@�ł́A��̓I�ɂǂ��������A���S���Y���ɂȂ�̂����Ă����܂��傤�B
�@�ύX�O�̃e�L�X�g�ƕύX��̃e�L�X�g���c���Ɖ����ɕ��ׂ܂��B���ォ��E���ɍŒZ�����ňړ�������@���l���܂��B���̂Ƃ��c�Ɖ��̕����������ꍇ�͎߂Ɉړ��ł�����̂Ƃ��܂��B
�@�܂��A�c�Ɖ��ɓ�������������Ƃ���͎߂Ɉړ��ł���̂Ŏΐ��������܂��B���Ƃ͂��ׂĂ̌o�H�̒��Ŏ߂���ԑ����ʂ�o�H�������܂��B
�@���̌o�H�ɏ]���Ĉړ����Ă����܂��B�c�ړ��̏ꍇ�́A�c���̕������ύX�ɂ���ď��������Ƃ�\���܂��B���ړ��̏ꍇ�́A�����̕������ύX�ɂ���đ��������Ƃ�\���܂��B�����������������A�lj����ꂽ�������ŕ\���Ǝ��̂悤�ɂȂ�܂��B
BFEABCDA
�@����ł̓G�f�B�b�g�O���t���������Ă݂܂��傤�B�����̂Ŕ����ɕ����ĉ�����܂��B
1 <html> 2 <head> 3 <script type="text/javascript"> 4 function getStringById(id) { 5 var element = document.getElementById(id); 6 var str = element.value; 7 if (str == undefined) { 8 str = element.innerHTML; 9 } 10 return (str == undefined) ? "" : str; 11 } 12 13 window.onload = function() { 14 var text = getStringById('text'); 15 document.getElementById('area').innerHTML = text; 16 } 17 18 function minus_ch(ch) { 19 return '<span class="minus">' + ch + '</span>'; 20 } 21 22 function plus_ch(ch) { 23 return '<span class="plus">' + ch + '</span>'; 24 } 25 </script> 26 <style type="text/css"> 27 span.plus { background-color:#FFFF00; font-weight:bold } 28 span.minus { background-color:#FF0000; text-decoration:line-through } 29 </style> 30 </head> 31 32 <body> 33 34 <div id="text">�e�L�X�g�����̂Ƃ��</div><br> 35 <textarea id="area" rows="10" cols="100"></textarea><br> 36 37 <script type="text/javascript"> 38 var EGD_X = 0; 39 var EGD_Y = 1; 40 var EGD_XY = 2; 41 var EGD_END = 3; 42 43 function makeEditGraph(str1, str2) { 44 var edit_graph = new Array(); 45 46 edit_graph[str1.length] = new Array(); 47 edit_graph[str1.length][str2.length] = 48 {cost:0, direction:EGD_END}; 49 50 for (var x = str1.length-1; 0 <= x; x--) { 51 edit_graph[x] = new Array(); 52 edit_graph[x][str2.length] = {cost:str1.length-x, direction:EGD_X}; 53 } 54 for (var y = str2.length-1; 0 <= y; y--) { 55 edit_graph[str1.length][y] = {cost:str2.length-y, direction:EGD_Y}; 56 } 57 58 for (var x = str1.length-1; 0 <= x; x--) { 59 for (var y = str2.length-1; 0 <= y; y--) { 60 var cost; 61 var direction; 62 if (edit_graph[x+1][y].cost <= edit_graph[x][y+1].cost) { 63 cost = edit_graph[x+1][y].cost; 64 direction = EGD_X; 65 } else { 66 cost = edit_graph[x][y+1].cost; 67 direction = EGD_Y; 68 } 69 70 if((str1.charAt(x) == str2.charAt(y)) 71 && (edit_graph[x+1][y+1].cost <= cost)) { 72 cost = edit_graph[x+1][y+1].cost; 73 direction = EGD_XY; 74 } 75 76 edit_graph[x][y] = {cost:cost+1, direction:direction}; 77 } 78 } 79 80 return edit_graph; 81 } 82 //����1
�@�����܂łŁA���ׂĂ̓_�ɂ��ĕ����ƈړ��������v�Z����܂��B���킹�čŒZ�����̌o�H�����肵�܂��B
Copyright © ITmedia, Inc. All Rights Reserved.