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 '结束函数 --------------------------------------------------------------- '*********************************************************** 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 '***********************************************************

评论