Exemplo n.º 1
0
    static void CoActorsWithCountInMoviesWithRankAbove(MoviesDB moviesDB, bool printSep, int width)
    {
        long msecs1 = Environment.TickCount;

        int maxActorId = 0;

        foreach (Actor a in moviesDB.actors.Values)
        {
            if (a.id > maxActorId)
            {
                maxActorId = a.id;
            }
        }
        int numOfIds = moviesDB.actors.Count / 4;

        int[] randomIds = RandomInts(maxActorId, numOfIds, 72594);

        long maxCoActors = 0;
        int  misses      = 0;

        foreach (int id in randomIds)
        {
            Actor actor;
            if (moviesDB.actors.TryGetValue(id, out actor))
            {
                Dictionary <Actor, int> coActors = moviesDB.CoActorsWithCountInMoviesWithRankAbove(actor, 6.0);
                if (coActors.Count > maxCoActors)
                {
                    maxCoActors = coActors.Count;
                }
            }
            else
            {
                misses++;
            }
        }

        long msecs2 = Environment.TickCount;

        PrintTime(msecs2 - msecs1, printSep, width);
    }