[your code here]
Mantis
mail.mantis.88 at gmail.com
Sat Jan 28 05:57:40 PST 2012
28.01.2012 15:31, Jos van Uden пишет:
> import std.stdio, std.stream, std.string, std.range;
>
> void main() {
> int countPalindromes;
> auto infile = new BufferedFile("unixdict.txt");
> foreach (char[] line; infile) {
> if (line.walkLength > 1) {
> line.toLowerInPlace;
> if (line == line.dup.reverse)
> countPalindromes++;
> }
> }
> writeln("palindromes found: ", countPalindromes);
> }
>
The same may be done without memory duplication by changing comparison
to this (equal function is in std.algorithm):
if (equal(line, retro(line)))
Hard to say without profiling if it will have actual impact on
performance, but at least it should be more GC-friendly.
More information about the Digitalmars-d
mailing list