Пример #1
0
 static SimilarTagsCalculator.TagsSimilarityInfo[] ArraySort(SimilarTagsCalculator.TagsSimilarityInfo[] array)
 {
     SimilarTagsCalculator.TagsSimilarityInfo[] result = new SimilarTagsCalculator.TagsSimilarityInfo[array.Length];
     Array.Copy(array, result, array.Length);
     Array.Sort(result);
     return(result);
 }
Пример #2
0
 static SimilarTagsCalculator.TagsSimilarityInfo[] CountSort(SimilarTagsCalculator.TagsSimilarityInfo[] array)
 {
     List <SimilarTagsCalculator.TagsSimilarityInfo>[] list = new List <SimilarTagsCalculator.TagsSimilarityInfo> [TagsGroup.TagsGroupLength + 1];
     foreach (var tagsSimilarityInfo in array)
     {
         List <SimilarTagsCalculator.TagsSimilarityInfo> l = list[tagsSimilarityInfo.Similarity];
         if (l == null)
         {
             l = new List <SimilarTagsCalculator.TagsSimilarityInfo>();
             list[tagsSimilarityInfo.Similarity] = l;
         }
         l.Add(tagsSimilarityInfo);
     }
     SimilarTagsCalculator.TagsSimilarityInfo[] result = new SimilarTagsCalculator.TagsSimilarityInfo[array.Length];
     for (int i = TagsGroup.TagsGroupLength, j = 0; i >= 0; i--)
     {
         if (list[i] == null)
         {
             continue;
         }
         foreach (var info in list[i])
         {
             result[j++] = info;
         }
     }
     return(result);
 }
Пример #3
0
        SimilarTagsCalculator.TagsSimilarityInfo[] CalcTagsSimilarityInfo(TagsGroup[] tagsGroups)
        {
            SimilarTagsCalculator.TagsSimilarityInfo[] result = new SimilarTagsCalculator.TagsSimilarityInfo[tagsGroups.Length];
            TagsGroup tagsGroup = new TagsGroup(Program.CreateAllTagsTrue());

            for (int i = 0; i < tagsGroups.Length; i++)
            {
                result[i] = new SimilarTagsCalculator.TagsSimilarityInfo(i, TagsGroup.MeasureSimilarity(tagsGroup, tagsGroups[i]));
            }
            return(result);
        }