CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

好东东 分享一下:使用起泡法按照时间排列文件

楼主znjgress(四空和尚)2006-03-13 17:26:43 在 Web 开发 / ASP 提问

Function   qipaosorting(path)  
  'path   =   "D:\spreadtrum   magazine\"  
      Set   FSO   =   Server.CreateObject("Scripting.FileSystemObject")     'FSO对象  
      Set   FD   =   FSO.GetFolder(path)     '获得文件夹  
      Set   F   =   FD.Files       '获得文件夹内文件  
      For   Each   OneFile   in   F     '列出所有的htm文件    
          filename   =   OneFile.Name  
          If   LCase(right(filename,3))   =   "htm"   Then     '只对htm文件处理  
            filename_arr0   =   filename_arr0   &   Left(filename,Len(filename))   &   "|"     '获得主文件名,保存在变量中,0|0|形式          
            filename_arr1   =   filename_arr1   &   DateValue(OneFile.datelastmodified)   &   "|"     '获得文件最后修改日期          
          End   If  
      Next      
      filename_arr0   =   split(filename_arr0,"|")     '转化为文件名数组  
      filename_arr1   =   split(filename_arr1,"|")     '转化为日期数组  
  '把文件名和时间按照顺序加入二维数组  
      dim   filename_arr()    
      redim   filename_arr(ubound(filename_arr0),2)     '重新定义    
      for   i   =   0   to   ubound(filename_arr0)   -   1    
          filename_arr(i,0)   =   filename_arr0(i)  
          filename_arr(i,1)   =   filename_arr1(i)  
      next  
      erase   filename_arr0     '删除数组  
      erase   filename_arr1  
  '------按照时间的顺序使用起泡法排列数组------  
      for   j   =   0   to   ubound(filename_arr)   -   1    
        for   i   =   0   to   ubound(filename_arr)   -   1   -   j  
            if   DateDiff("d",filename_arr(i,1),filename_arr(i+1,1))   >   0   Then   '判断时间先后,如果比后面的晚,交换数据  
                'if   filename_arr(i,1)<filename_arr(i+1,1)   Then     '这个只能判断字符,而不能判断时间      
                '换前后书内容--文件名  
        temp   =   filename_arr(i,0)  
                filename_arr(i,0)   =   filename_arr(i   +   1,0)  
                filename_arr(i+1,0)   =   temp  
                '交换前后数组内容--建立时间    
                temp   =   filename_arr(i,1)    
                filename_arr(i,1)   =   filename_arr(i   +   1,1)  
                filename_arr(i   +   1,1)   =   temp  
            end   if  
        next  
      next  
  '------结束起泡法------  
      qipaosorting   =   filename_arr     '返回二维数组    
  End   Function     '结束函数 问题点数:20、回复次数:8Top

1 楼znjgress(四空和尚)回复于 2006-03-14 10:35:03 得分 0

没有人看   哎...............Top

2 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2006-03-14 11:05:04 得分 20

'***********************************************************  
  sub   sortA(   Arr)  
  '堆排序,复杂度n*log(n)/log(2),如果8个数就是24次,如果用冒泡是8^2=64次  
  dim   n,i,L,ir,rArr,j  
  n   =   ubound(Arr)   '7,8个元素  
          L   =   int(n   /   2)+1      
          ir   =   n  
          do  
                  if   L   >   1   then  
                          L   =   L   -   1  
                          rArr   =   Arr(L)  
                  else  
                          rArr   =   Arr(ir)  
                          Arr(ir)   =   Arr(1)  
                          ir   =   ir   -   1  
                          if   ir   =   1   then  
                              Arr(1)   =   rArr  
                              exit   sub  
                          end   if  
                  end   if  
                  i   =   L  
                  j   =   2   *   L      
                  while   j   <=   ir  
                          if   j   <   ir   then  
                                  if   Arr(j)   <   Arr(j   +   1)   then   j   =   j   +   1  
                          end   if  
                          if   rArr   <   Arr(j)   then  
                                  Arr(i)   =   Arr(j)  
                                  i   =   j  
                                  j   =   2   *   j    
                          else  
                                  j   =   ir   +   1  
                          end   if  
                  wend  
                  Arr(i)   =   rArr  
          loop  
  end   sub  
  '***********************************************************  
  sub   D2Arr(D,ArrI)  
  '字典Item转化为数组  
  dim   i,Dcount,Arr  
  Arr   =   D.Items  
  Dcount   =   D.Count  
  redim   ArrI(Dcount)  
  for   i=0   to   Dcount-1  
  ArrI(i+1)=   Arr(i)    
  next  
  end   sub  
  '***********************************************************  
  Top

3 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2006-03-14 11:05:49 得分 0

'***********************************************************  
  sub   sortA(   Arr)  
  '堆排序,复杂度n*log(n)/log(2),如果8个数就是24次,如果用冒泡是8^2=64次  
  dim   n,i,L,ir,rArr,j  
  n   =   ubound(Arr)   '7,8个元素  
          L   =   int(n   /   2)+1      
          ir   =   n  
          do  
                  if   L   >   1   then  
                          L   =   L   -   1  
                          rArr   =   Arr(L)  
                  else  
                          rArr   =   Arr(ir)  
                          Arr(ir)   =   Arr(1)  
                          ir   =   ir   -   1  
                          if   ir   =   1   then  
                              Arr(1)   =   rArr  
                              exit   sub  
                          end   if  
                  end   if  
                  i   =   L  
                  j   =   2   *   L      
                  while   j   <=   ir  
                          if   j   <   ir   then  
                                  if   Arr(j)   <   Arr(j   +   1)   then   j   =   j   +   1  
                          end   if  
                          if   rArr   <   Arr(j)   then  
                                  Arr(i)   =   Arr(j)  
                                  i   =   j  
                                  j   =   2   *   j    
                          else  
                                  j   =   ir   +   1  
                          end   if  
                  wend  
                  Arr(i)   =   rArr  
          loop  
  end   sub  
  '***********************************************************  
  Top

4 楼znjgress(四空和尚)回复于 2006-03-14 13:12:36 得分 0

呵呵    
  笨狼老大    
  老大还是老大.Top

5 楼chzxq(毛毛鼠)回复于 2006-03-14 14:58:08 得分 0

学习啊,以前一直用冒泡效率太底了!Top

6 楼znjgress(四空和尚)回复于 2006-03-15 12:54:11 得分 0

Top      
  Top

7 楼wangrutie(wangrutie)回复于 2006-03-15 16:41:18 得分 0

upTop

8 楼wangflove(沙尘暴:学吧,学死算了!)回复于 2006-03-16 00:02:07 得分 0

关注一下。Top

相关问题

  • 用什么东东打开*.db文件?
  • obj文件和lib文件是何东东?
  • 在list control实现文件排列
  • 如何按照建立文件的时间来排列文件?
  • .com文件是什么东东?和.exe文件有什么区别
  • 寻找可以批量地将 wav 文件转换为 rm 文件的东东!!!
  • 如何利用ASP或其它的东东上传文件???
  • 内存映射文件是什么东东?
  • 请大家帮我找一下恢复Excel文件的东东!
  • 哪位有gif文件编码的东东?哪个网站有?

关键词

  • 文件
  • 文件名
  • arr
  • ir
  • 数组
  • filename
  • onefile
  • rarr
  • fso
  • 获得

得分解答快速导航

  • 帖主:znjgress
  • superdullwolf

相关链接

  • Web开发类图书

广告也精彩

反馈

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