起泡法按照时间排列文件(FSO)(修正) (转)

本文介绍了一种使用VBScript实现的起泡排序算法,该算法用于按文件创建时间对文本文件进行排序。通过创建文件系统对象并获取指定路径下的所有.txt文件,然后比较这些文件的创建时间来实现排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起泡法按照时间排列文件(FSO)(修正) (转)[@more@]本站的 web.cn/collection. ASP">http://btyz.51web.cn/collection.asp使用按照时间排列 文件的,后来想到如果按照文件建立的时间为顺序排列,那就太棒了。幸好学过C语言,起泡法只是一个简单的算法而已,但是在网页 编程中要用到什么算法的还是比较少的,我已经用过的算法只有递归和起泡法。有问题大家多多指点。这种算法 效率好像不是很高。不知道有没有更好的办法。
vbscript" CODEPAGE="936"%>
'######################################'
'##  Copyright (C) 2003 醉雨梧桐 All rights reserved.  ##'
'##  Powered by 醉雨梧桐  ##'
'##  http://btyz.51web.cn/  ##'
'##  Mailto:winterfire@163.com">winterfire@163.com  ##'
'######################################'
Function file_list(path)
  Set fso=Server.Create object("Scripting.FileSystemObject")  'FSO 对象
  Set FD=FSO.GetFolder(path)  '获得文件夹
  Set F=FD.Files  '获得文件夹内文件
  For Each OneFile in F  '列出所有的txt文件
  filename=OneFile.Name
  If LCase(right(filename,3))="txt" Then  '只对txt 文件处理
  filename_arr0=filename_arr0&Left(filename,Len(filename)-4)&"|"  '获得主文件名,保存在变量中,0|0|形式
  filename_arr1=filename_arr1&DateValue(OneFile.DateCreated)&"|"  '获得文件建立日期
 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)  '交换前后数组内容--文件名
  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
'------结束起泡法------
  file_list=filename_arr '返回二维数组
End Function  '结束 函数

file_arr=file_list("g:my documents xt")  '调用函数返回二维数组
for i=0 to ubound(file_arr)-1
  Response.Write(file_arr(i,0)&"--"&file_arr(i,1)&"
") '输出结果
next
%>


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-960728/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-960728/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值