求算法

liujiahaol12345 2016-03-21 03:33:31
比如一个list存着多个学生对象,我想把只要是语文成绩属性比别人高的都找出来,现在我只想到两次循环list,第一个和list里所有学生比较,是自己就continue,再第二个和所有比较,第三个。。。依次循环下去,我觉得这样效率比较低,有没有其他的算法
...全文
190 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcf_2011 2016-03-29
  • 打赏
  • 举报
回复
所有人的共同好友。。。反过来说就是这个人跟所有人都是好友咯?那他的好友数量就是总人数减一,判断好友数量就行了。。。
redeva 2016-03-23
  • 打赏
  • 举报
回复
想到一个思路,把所有人名建立一个列表,取出其中姓名,比如Tom,然后看谁有这个好友,比如Rose和Jack,那好,这两个就是有共同好友的。
liujiahaol12345 2016-03-21
  • 打赏
  • 举报
回复
对,按要求这里都有共同好友就都输出
Poopaye 2016-03-21
  • 打赏
  • 举报
回复
引用 7 楼 liujiahaol12345 的回复:
Dictionary<string, List<string>> dicPersons = new Dictionary<string, List<string>>(); dicPersons.Add("Jack", new List<string>() { "Peter", "Tom", "Mary", "Smith" }); dicPersons.Add("Rose", new List<string>() { "Peter", "Tom", "Mary" }); dicPersons.Add("Smith", new List<string>() { "Jack", "Tom", "Bruce", "Peter" }); dicPersons.Add("Peter", new List<string>() { "Jack", "Rose", "Smith" }); dicPersons.Add("Tom", new List<string>() { "Jack", "Rose", "Smith" }); dicPersons.Add("Mary", new List<string>() { "Jack", "Rose"}); 人名唯一,这里Jack和Rose就有共同好友
你这个例子的结果应该输出所有的人是这样吗?
笨鸟先飞_ 2016-03-21
  • 打赏
  • 举报
回复
直接把自己的分和其他的比就好了吧?你要找某个对象应该已经拿到那个对象了吧
liujiahaol12345 2016-03-21
  • 打赏
  • 举报
回复
Dictionary<string, List<string>> dicPersons = new Dictionary<string, List<string>>();
dicPersons.Add("Jack", new List<string>() { "Peter", "Tom", "Mary", "Smith" });
dicPersons.Add("Rose", new List<string>() { "Peter", "Tom", "Mary" });
dicPersons.Add("Smith", new List<string>() { "Jack", "Tom", "Bruce", "Peter" });
dicPersons.Add("Peter", new List<string>() { "Jack", "Rose", "Smith" });
dicPersons.Add("Tom", new List<string>() { "Jack", "Rose", "Smith" });
dicPersons.Add("Mary", new List<string>() { "Jack", "Rose"});
人名唯一,这里Jack和Rose就有共同好友
xuzuning 2016-03-21
  • 打赏
  • 举报
回复
两个例子正好相反,但不影响书写查询条件 用 LINQ 做关联查询就可以了 当然,如果你需要代码的话,就要给出供测试的数据 事情是你的,你总不能要别人替你构造数据吧?
liujiahaol12345 2016-03-21
  • 打赏
  • 举报
回复
我换个例子,list里有多个人,每个人有多个好友,输出所有有共同好友的人,
白衣如花 2016-03-21
  • 打赏
  • 举报
回复
语文成绩属性比别人高的都找出来——是找最高的么?你的表述有严重问题
crystal_lz 2016-03-21
  • 打赏
  • 举报
回复
你还是先把问题说清楚了在说吧。。。 反正看你上面说的 我就值想到 foreach(var v in lst){ if(v.语文成绩 > 别人的语文成绩) }
Poopaye 2016-03-21
  • 打赏
  • 举报
回复
What are you saying?
猪猪猪爱的 2016-03-21
  • 打赏
  • 举报
回复
查一下LINQ 的语法 类似与SQL

110,534

社区成员

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

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

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