Skip to content

Commit fcdbb41

Browse files
authored
优化运行效率
1 parent 4d36d39 commit fcdbb41

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

Suffix-Array(Doubling).cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ int l;
1414
char s[STRING_LENGTH];
1515
int rank[STRING_LENGTH * 2], sa[STRING_LENGTH];
1616

17-
inline bool operator == (const sortinfo &x, const sortinfo &y)
18-
{
19-
return x.x == y.x && x.y == y.y;
20-
}
21-
2217
void radix_sort(sortinfo *d)
2318
{
2419
static sortinfo _d[STRING_LENGTH], res[STRING_LENGTH];
@@ -88,7 +83,11 @@ void init_rank()
8883
rank[d[0].ord] = 1;
8984
for (int i = 1; i < l; i++)
9085
{
91-
rank[d[i].ord] = (d[i] == d[i - 1] ? x : ++x);
86+
rank[d[i].ord] = (d[i].x == d[i - 1].x && d[i].y == d[i - 1].y ? x : ++x);
87+
}
88+
if (x == l)
89+
{
90+
break;
9291
}
9392
}
9493
}

0 commit comments

Comments
 (0)