c# 二维数组排序

ranmer 2008-03-24 12:15:18
最近在写一个排名的程序,排名投票的时候也没有限制用户,也就是说可以匿名的方式投给任何人,数据库中的数据很杂,有很多相同的人名,现在老大要求,把相同的人名进行筛选,只保留一个,但是其它同名的人的票数要进行累加到保留的那一个上边,最后选出前10名;
我想把它们全部统计后,筛选累加,然后存放到一个二维数组中,然后对这个二维数组进行排序,取出前10名,可对二维数组不是很会,现在是搞了好久,也没搞定,所以,现在来请教大家了,希望大家帮帮小弟,先谢谢了

大概的数据是这样:
string[,] arr={{"小张","450"},{"大兴","513"},{"陈海","412"}...}

...全文
1577 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ranmer 2008-03-24
  • 打赏
  • 举报
回复
我也试了一下,那个提示错误说“只支持一维数组”
priwilliam 2008-03-24
  • 打赏
  • 举报
回复
请lz查看帮助
array.sort()
csharp_start 2008-03-24
  • 打赏
  • 举报
回复
何必要排序,5楼都已经给出了最简单SQL处理方法,为什么还有这么多人给出更复杂的方法?
llyzcy 2008-03-24
  • 打赏
  • 举报
回复
看一下排序的算法,照着写代码就是了
benyouyong 2008-03-24
  • 打赏
  • 举报
回复

Hashtable studentIdScoreTable = new Hashtable();

studentIdScoreTable.Add(“小张”, 100);
.
.
.
.

ArrayList studentScore = new ArrayList(studentIdScoreTable.Values);

studentScore.Sort();


liubin911 2008-03-24
  • 打赏
  • 举报
回复
是工整的二维数组,原理根据冒泡排序来实现
循环方式 根据 arr[0,1],arr[1,1],arr[2,1],arr[3,1]....以此类推
判断条件 是 arr[0,1] 装换成INT进行比较,然后换位排序
benyouyong 2008-03-24
  • 打赏
  • 举报
回复
呵呵。既然名字都被筛选的不重复了。
用Hashtable做啊,名字是键,票数为值!
heiying8510 2008-03-24
  • 打赏
  • 举报
回复
建议用DataTable来实现

cuihonglong@hotmail.com
ranmer 2008-03-24
  • 打赏
  • 举报
回复
谢谢各位,呵呵
dancingbit 2008-03-24
  • 打赏
  • 举报
回复
select top 10 name, sum(ticket) as tick_sum from tick group by name order by tick_sum desc
benbenkui 2008-03-24
  • 打赏
  • 举报
回复
如果是数据更新量很大,可以建一新表,再创建一更新触发器。
这样以后要用的时候,可以直接
select top 10 * from newtable order by newNum desc
benbenkui 2008-03-24
  • 打赏
  • 举报
回复
可以在数据库中实现,很简单的
select top 10 * from (
select [name],sum(voteNum)newNum from tb
where [name]=[name]
group by [name])tt
order by newNum DESC
sunskyland 2008-03-24
  • 打赏
  • 举报
回复
错了 迭代器不合适
这是数组啊
sunskyland 2008-03-24
  • 打赏
  • 举报
回复
建一个新数组,从第一个开始比较,有相同名字就累加,没有就在数组后面加一个名字。
不过觉得这样不好,是不是用迭代器好点?

:-),我声明,我不大熟。
b哈利路亚d 2008-03-24
  • 打赏
  • 举报
回复
Array.sort 是万能的,只要自己重新写比较方法
建议,写一个Item类,包含 Name,Value
然后每张票可以视为一个Item
写一个比较方法,之比较Value即可
使用Array.sort 比较

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧