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

排序的最快算法?

楼主Juddy()2000-12-18 08:46:00 在 Delphi / VCL组件开发及应用 提问

我想对一个链表进行排序,有谁知道最快选法?链表的头指针放长度吗? 问题点数:40、回复次数:9Top

1 楼comanche(太可怕)回复于 2000-12-18 09:01:00 得分 10

可以用改进的链表,用一个数组记录每个结点的入口  
  TList就是个这样的东东  
  这样的东东可以用   QuickSortTop

2 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2000-12-18 11:09:00 得分 0

其实最快最简单的排序还是“哈希”排序,  
  它的时间复杂性O(N),许多“论文”声称  
  “发明”了一个新排序,其实,就是“哈希”  
  的一个特例而已,对处理串比较实用;  
  Top

3 楼sundaynews(小虫)回复于 2000-12-18 14:30:00 得分 10

我鼓励还是用快速排序,HASH排序前提太苛刻  
  如果内存允许,就用commanche所说的方法  
  例如把链表放到这样的一个数组  
  struct   {  
          对象指针  
          对象的排序字段  
  }   对象数组[]  
  然后用qsort  
  Top

4 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2000-12-18 15:49:00 得分 0

ok.  
  C++带有一个一个现成的排序,就是qsort(...),  
  不过要根据你的情况自行写个比较函数!  
  Top

5 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2000-12-18 15:55:00 得分 20

#include   <stdlib.h>  
  void   qsort(void   *base,   size_t   nelem,   size_t   width,   int   (_USERENTRY   *fcmp)(const   void   *,   const   void   *));#include   <stdio.h>  
   
  //---------------------------------------------------------  
  #include   <stdlib.h>  
  #include   <string.h>  
   
  int   sort_function(   const   void   *a,   const   void   *b);  
  char   list[5][4]   =   {   "cat",   "car",   "cab",   "cap",   "can"   };  
   
  int   main(void)  
  {  
        int     x;  
   
        qsort((void   *)list,   5,   sizeof(list[0]),   sort_function);  
        for   (x   =   0;   x   <   5;   x++)  
              printf("%s\n",   list[x]);  
        return   0;  
  }  
   
  int   sort_function(   const   void   *a,   const   void   *b)  
  {  
        return(   strcmp((char   *)a,(char   *)b)   );  
  }  
   
  Top

6 楼Juddy()回复于 2000-12-19 08:56:00 得分 0

qsort(...)用的是什么排序方法?我还是想自己用快速排序写。  
  Top

7 楼yyz()回复于 2000-12-19 09:12:00 得分 0

delphi,cb++不是有源程序吗,打开看看就可以了。  
  很简单的,就几行而已。Top

8 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2000-12-19 09:45:00 得分 0

C++BUILDER   qsort()   用的就是快速排序法,  
  DELPHI   中难道没带这种排序过程?   这两种语言可  
  出自同一家.  
  Top

9 楼myxxyy(学习者)回复于 2000-12-19 10:57:00 得分 0

仅从排序的算法和数据而言,并不存在所谓的一种通用的“最快”方法。  
  很多算法都是针对某些数据模型而言是最快的,但对另外的数据可能效率就比较低;不过通常情况下C的qsort()函数的速度是很快的,也没有必要事必恭亲去自己编写算法(其实是很麻烦的)兄弟!Top

相关问题

  • 请教最快的 排序算法
  • 散分!最后53分!请写出堆排序和快速排序算法!
  • 世界上最快的排序算法! 我,该发表吗?
  • 排序算法:哪个更快?
  • 快速排序算法,急用在线!!!
  • 如何优化快速排序算法
  • 在中值滤波程序中,要使用排序算法取得数列的中值,请问哪种排序算法最快。
  • 百分求链表的排序算法,要求速度最快!谢谢大侠
  • 求排序算法~~~~~~~~~~~~!!!
  • 求教高手无符号整形数组递减排序,什么算法最快?谢谢!

关键词

  • 排序
  • 数组
  • qsort
  • 对象
  • 就是
  • const
  • include
  • list

得分解答快速导航

  • 帖主:Juddy
  • comanche
  • sundaynews
  • BCB

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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