Thunder Bird Communication & Improvement
double CLdDlg::Minimum(double a, double b, double c)
{
double mi;

mi = a;
if (b < mi) {
mi = b;
}
if (c < mi) {
mi = c;
}
return mi;
}

double* CLdDlg::GetCellPointer(double *pOrigin, int col, int row, int nCols)
{
return pOrigin + col + (row * (nCols + 1));
}

double CLdDlg::GetAt(double *pOrigin, int col, int row, int nCols)
{
double *pCell;

pCell = GetCellPointer (pOrigin, col, row, nCols);
return *pCell;
}

void CLdDlg::PutAt(double *pOrigin, int col, int row, int nCols, double x)
{
double *pCell;
pCell = GetCellPointer (pOrigin, col, row, nCols);
*pCell = x;
}
re: linux文件中的^M问题 Thunder 2006-04-19 09:05

re: linux文件中的^M问题 Thunder 2006-04-18 19:04

Java version
public class Distance {

//****************************
// Get minimum of three values
//****************************

private int Minimum (int a, int b, int c) {
int mi;

mi = a;
if (b < mi) {
mi = b;
}
if (c < mi) {
mi = c;
}
return mi;

}

//*****************************
// Compute Levenshtein distance
//*****************************

public int LD (String s, String t) {
int d[][]; // matrix
int n; // length of s
int m; // length of t
int i; // iterates through s
int j; // iterates through t
char s_i; // ith character of s
char t_j; // jth character of t
int cost; // cost

// Step 1

n = s.length ();
m = t.length ();
if (n == 0) {
return m;
}
if (m == 0) {
return n;
}
d = new int[n+1][m+1];

// Step 2

for (i = 0; i <= n; i++) {
d[i][0] = i;
}

for (j = 0; j <= m; j++) {
d[0][j] = j;
}

// Step 3

for (i = 1; i <= n; i++) {

s_i = s.charAt (i - 1);

// Step 4

for (j = 1; j <= m; j++) {

t_j = t.charAt (j - 1);

// Step 5

if (s_i == t_j) {
cost = 0;
}
else {
cost = 1;
}

// Step 6

d[i][j] = Minimum (d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1] + cost);

}

}

// Step 7

return d[n][m];

}

}

 < 2021年4月 >
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

•