CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

求一个高效的排序算法

楼主ajqc(一条做着"家"的梦的黄牛)2005-01-06 10:48:46 在 .NET技术 / C# 提问

一个目录下有以下文件  
  A1.txt  
  A12.txt  
  A2.txt  
  1A.txt  
  12A.txt  
  2A.txt  
   
  把这些文件名做为一个string[]输入参数,输出也是一个string[],要求输出时排序成  
  1A.txt  
  2A.txt  
  12A.txt  
  A1.txt  
  A2.txt  
  A12.txt  
   
  我自已试了好几个,效率都不高,在此请教了,请给出代码 问题点数:100、回复次数:10Top

1 楼The123(Shall We Dance? :))回复于 2005-01-06 10:54:25 得分 0

你要多高的效率呢?Top

2 楼QSWW21CN(酸酸甜甜就是我啊)回复于 2005-01-06 10:58:37 得分 0

帮你顶Top

3 楼cxyPioneer(matt)回复于 2005-01-06 11:00:08 得分 0

upTop

4 楼pontus(pontus)回复于 2005-01-06 11:34:29 得分 0

你到底是按什么排序啊?排序规律是什么?Top

5 楼Fibona(Fibona)回复于 2005-01-06 11:48:02 得分 0

排序的方法就是那么几种,我不知道你所指的高效是怎么个高效法.以及你现在采用的排序方法.  
  Top

6 楼Sunmast(速马@Redmond, WA)回复于 2005-01-06 12:01:56 得分 0

.net内Array和ArrayList所带Sort方法,用的是quick   sort非稳定算法,几乎已经是最快了  
  稳定排序则需要自己实现冒泡算法Top

7 楼jimh(Jimmy)回复于 2005-01-06 12:12:40 得分 0

换个思路,楼主的排序主要不是标准的字符串排序,所以有点麻烦,应该先格式化一下字符串,比如:  
  A1.txt   ->   A001.txt  
  A12.txt   ->   A012.txt  
  A2.txt   ->   A002.txt  
  1A.txt   ->   001A.txt  
  12A.txt   ->   012A.txt  
  2A.txt   ->   002A.txt  
  主要是数字格式化位定长的,位数可以根据实际定,我这里定3位。  
  然后在使用系统的排序就可以,排序后再转换为原来的样式。  
  Top

8 楼Sunmast(速马@Redmond, WA)回复于 2005-01-06 12:32:30 得分 0

不格式化也可以  
  给Sort方法提供一个实现了IComparer接口的类型的对象即可Top

9 楼shan1119(大天使,卐~解!)回复于 2005-01-06 12:57:35 得分 0

学习Top

10 楼xixigongzhu(夕夕公主(※快乐在于自己※))回复于 2005-02-25 11:28:54 得分 100

http://community.csdn.net/Expert/topic/3802/3802711.xml?temp=.4805109  
  另一个帖子的答案  
  public   class   CustomComparer:System.Collections.IComparer  
  {  
  public   int   Compare(object   x,   object   y){  
  string   s1   =   (string)x;  
  string   s2   =   (string)y;  
  if   (s1.Length   >   s2.Length)   return   1;  
  if   (s1.Length   <   s2.Length)   return   -1;  
  for   (int   i   =   0;   i   <   s1.Length;   i++)   {  
  if   (s1[i]   >   s2[i])   return   1;  
  if   (s1[i]   <   s2[i])   return   -1;  
  }  
  return   0;  
  }  
  }  
  Top

相关问题

  • 求排序算法~~~~~~~~~~~~!!!
  • 排序的最快算法?
  • 全排序算法问题?
  • 这何种算法?(排序)
  • 关于排序算法
  • 求桶排序算法
  • 想学习排序算法
  • 急!!多列排序算法!
  • 求一高效算法。
  • 高效算法求解!急!!!

关键词

  • .net
  • 排序
  • 算法
  • 格式化
  • txta
  • txt
  • 方法
  • sort
  • length

得分解答快速导航

  • 帖主:ajqc
  • xixigongzhu

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo