c#如何统计数组元素重复出现的次数
比如某个一维数组a[10],元素由(1,5)随机产生,如何统计数组元素重复出现的次数?麻烦大神写写一下代码...
比如某个一维数组a[10],元素由(1,5)随机产生,如何统计数组元素重复出现的次数?麻烦大神写写一下代码
展开
1个回答
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class ItemInfo
{
/// <summary>
/// ItemInfo 类记录数组元素重复次数
/// </summary>
/// <param name="value">数组元素值</param>
public ItemInfo(int value)
{
Value = value;
RepeatNum = 1;
}
/// <summary>
/// 数组元素的值
/// </summary>
public int Value { get; set; }
/// <summary>
/// 数组元素重复的次数
/// </summary>
public int RepeatNum { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 待统计的整型数组
int[] a = { 1, 1, 1, 3, 1, 2, 2, 1, 3, 4, 2, 1, 5, 3, 4 };
// 集合 dic 用于存放统计结果
Dictionary<int, ItemInfo> dic =
new Dictionary<int, ItemInfo>();
// 开始统计每个元素重复次数
foreach (int v in a)
{
if (dic.ContainsKey(v))
{
// 数组元素再次,出现次数增加 1
dic[v].RepeatNum += 1;
}
else
{
// 数组元素首次出现,向集合中添加一个新项
// 注意 ItemInfo类构造函数中,已经将重复
// 次数设置为 1
dic.Add(v, new ItemInfo(v));
}
}
foreach (ItemInfo info in dic.Values)
{
Console.WriteLine("数组元素 {0} 出现的次数为 {1}",
info.Value, info.RepeatNum);
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询