예제 #1
0
파일: AHPageGraph.cs 프로젝트: ic4f/oldcode
        private AHDocument[] getScores(AHDocumentComparer comparer)
        {
            if (!calculatedAH)             //ensures that scores are calculated (only once) before returned
            {
                runAuthHubAlgorithm();
                calculatedAH = true;
            }
            AHDocument[] results = new AHDocument[globalIds.Count];
            for (int id = 0; id < results.Length; id++)
            {
                results[id] = new AHDocument(Convert.ToInt16(localIds[id]), authScores[id], hubScores[id]);
            }

            Array.Sort(results, comparer);
            return(results);
        }
예제 #2
0
        public int Compare(object a, object b)
        {
            AHDocument docA = (AHDocument)a;
            AHDocument docB = (AHDocument)b;

            if (toCompare == AUTHORITIES)
            {
                if (docA.AuthorityScore > docB.AuthorityScore)
                {
                    return(-1);
                }
                else if (docA.AuthorityScore < docB.AuthorityScore)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                if (docA.HubScore > docB.HubScore)
                {
                    return(-1);
                }
                else if (docA.HubScore < docB.HubScore)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
        }