社区
C#
帖子详情
排序问题 高手进
jackydeng
2007-04-26 11:29:40
比如
B C D E F
15 10 20 11 10
排序完后结果为:
C F E B D
10 10 11 15 20
就是如何实现上面的字母标记绑定到数字??
...全文
1017
49
打赏
收藏
排序问题 高手进
比如 B C D E F 15 10 20 11 10 排序完后结果为: C F E B D 10 10 11 15 20 就是如何实现上面的字母标记绑定到数字??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
49 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackydeng
2007-04-28
打赏
举报
回复
再次谢谢大家
如果还有好的建议,欢迎!!
jackydeng
2007-04-28
打赏
举报
回复
分很少 不好意思
jackydeng
2007-04-28
打赏
举报
回复
谢谢大家了 问题基本解决
jiatong1981
2007-04-28
打赏
举报
回复
个人认为
在数字相同的时候 只是按照源数据的先后顺序来排序的 而不需要通过字母再排序一
次 所有的排序依据只和数字列有关
wxgwxgwxg
2007-04-28
打赏
举报
回复
晕 哪来的高手 初来乍到 正好以前遇到过这样的问题。高手 哪有空到处贴代码 高手张张嘴 就Ok了 呵呵 我在csdn上还没得过分呢 好不容易逮到机会了
yc_8301
2007-04-28
打赏
举报
回复
晕。高手已经给出代码了。呵呵
yc_8301
2007-04-28
打赏
举报
回复
加个判断就OK了
wxgwxgwxg
2007-04-28
打赏
举报
回复
好像是有问题,我没注意 还有字母顺序
好像就可以:
TestSort.Add(new myCls("F", 10));
TestSort.Add(new myCls("B", 15));
TestSort.Add(new myCls("C", 10));
TestSort.Add(new myCls("D", 20));
TestSort.Add(new myCls("E", 11));
不过显然不能这样解决
我想应该修改myReverserClass_Num就可以
public class myReverserClass_Num : IComparer
{
int IComparer.Compare(Object x, Object y)
{
if (((myCls)x).Num == ((myCls)y).Num)
{
return ((new CaseInsensitiveComparer()).Compare(((myCls)x).Name, ((myCls)y).Name));
}
else
{
return ((new CaseInsensitiveComparer()).Compare(((myCls)x).Num, ((myCls)y).Num));
}
}
}
duke1111
2007-04-28
打赏
举报
回复
哦,他是想先比较数字~~数字排完了有相同的再比较字母大小。
jiatong1981
2007-04-28
打赏
举报
回复
排序后F在C的前面
yc_8301
2007-04-28
打赏
举报
回复
学习中。。。。
不服高人有罪呀。
jackydeng
2007-04-28
打赏
举报
回复
好的 先谢谢了 我去试试
wxgwxgwxg
2007-04-28
打赏
举报
回复
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static ArrayList TestSort = new ArrayList();
static void Main(string[] args)
{
TestSort.Add(new myCls("B", 15));
TestSort.Add(new myCls("C", 10));
TestSort.Add(new myCls("D", 20));
TestSort.Add(new myCls("E", 11));
TestSort.Add(new myCls("F", 10));
myReverserClass_Name theSort_Name = new myReverserClass_Name();
myReverserClass_Num theSort_Num = new myReverserClass_Num();
TestSort.Sort(theSort_Name);
Printout();
TestSort.Sort(theSort_Num);
Printout();
Console.ReadLine();
}
static public void Printout()
{
foreach (myCls thecls in TestSort)
Console.WriteLine("Name:" + thecls.Name + "; Num:" + thecls.Num + ";");
}
}
public struct myCls
{
public string Name;
public int Num;
public myCls(string name, int num)
{
this.Name = name;
this.Num = num;
}
}
public class myReverserClass_Num : IComparer
{
int IComparer.Compare(Object x, Object y)
{
return ((new CaseInsensitiveComparer()).Compare(((myCls)x).Num, ((myCls)y).Num));
}
}
public class myReverserClass_Name : IComparer
{
int IComparer.Compare(Object x, Object y)
{
return ((new CaseInsensitiveComparer()).Compare(((myCls)x).Name, ((myCls)y).Name));
}
}
}
跑一下看看
jackydeng
2007-04-28
打赏
举报
回复
继续讨论
alldj
2007-04-27
打赏
举报
回复
Convert.ToString(num)+Char
hawking106123
2007-04-27
打赏
举报
回复
可以定义一个类,然后是两个成员.接着是一个类的数组.
QuinsonYue
2007-04-27
打赏
举报
回复
人气爆 特地进来瞧瞧~
SpaceTime
2007-04-27
打赏
举报
回复
Arraylist的sort方法就可以实现了
wwiilla
2007-04-27
打赏
举报
回复
CArray
CList
jackydeng
2007-04-27
打赏
举报
回复
cnwolfs(cnwolfs) 能否具体点,或者举个例子 谢谢
对了 SortedList无法添加有重复的数据 要怎么解决呢?
加载更多回复(29)
快速
排序
——
高手
登场
悄悄地,去找一下快排敲
进
电脑,别被笑话了哦!这个算法被列为20世纪十大算法之一。 如果说,希尔算法直接插入
排序
的升级,他们属于同一类,堆
排序
相当于简单
排序
的升级,他们属于同一类。而快速
排序
其实就是最慢的...
单片机里如何使用冒泡法实现数据从大到小排列_C语言编程
高手
请
进
!用冒泡法对20个数
进
行
排序
...
首先你要将你
排序
的二十个数放到数组int Num[](以整型为例。如果有小数: double Num[]) 里面。然后定义
排序
的函数: Sort(int Num[],int n); 第一个参数是你要
排序
的数组,第二个就是数组里面数的个数。函数实现: ...
快速
排序
python菜鸟教程-十大编程算法助程序员走上
高手
之路
算法一:快速
排序
算法快速
排序
是由东尼·霍尔所发展的一种
排序
算法。在平均状况下,
排序
n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速
排序
通常明显比其他Ο(nlogn)...
快速
排序
案列详解
在这么多的
排序
算法中,个人认为只有快速
排序
算法才能算得上
高手
啦。如果毕业工作后,你的老板叫你写一个算法的话,如果没有快速
排序
算法的话,我建议你还是偷偷的吧快速
排序
算法敲
进
电脑,这样才不会被大家取笑。...
排序
算法:编程算法助程序员走上
高手
之路
算法一:快速
排序
算法 快速
排序
是由东尼·霍尔所发展的一种
排序
算法。在平均状况下,
排序
n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速
排序
通常明显比其他Ο(n...
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章