| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:[求助]怎样返回查询到的最小值和冒泡排序后的数组
只看楼主 加入收藏
yuan1983
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-29
收藏
 问题点数:0 回复次数:3 
[求助]怎样返回查询到的最小值和冒泡排序后的数组

程序如下



Function BubbleSort(list() As Double) As Double

' 冒泡法进行排序

Dim First As Double, Last As Double
Dim I As Integer, j As Integer
Dim Temp As Double


I = list(0)
j = list(1)
First = LBound(list)
Last = UBound(list)
For I = First To Last - 1
For j = I + 1 To Last
If list(I) > list(j) Then
Temp = list(j)
list(j) = list(I)
list(I) = Temp
End If

Next j
Next I

End Function

搜索更多相关主题的帖子: list Double Last 冒泡 First 
2007-04-30 10:51
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

你的函数定义的返回是双精值 还想要数组

要么参数用值传递 (这个比较好)
要么改成sub 用全局数组(不推荐)

Private Sub BubbleSort(byref list() As Double)

End SUb

都排好了还拿不到最小值??


2007-04-30 11:05
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 

你的变量定义错了
First 和 Last应该是整形变量

并且这两句
I = list(0)
j = list(1)
没意义

2007-04-30 13:43
yuan1983
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-4-29
收藏
得分:0 
回复:(huangwy)你的变量定义错了First 和 Last应该...

 I = list(0)
j = list(1)
这两句我是想表示I和J都是从下面程序中读出来的数据中的数
帮我看看怎么才能实现把下面程序中读出来的数据实现大小排列
谢谢了 
 Function ArraySum(arr As Variant) As Variant()

Dim intCount As Long
Dim ArrayDemo As String
Dim intMark As Long
Dim atemp() As Variant
Dim colTemp As Collection
Dim strField As Integer
Dim strLine As Integer
Dim Lstr As String
Dim FileNumber


If ExistFile(NormalizePath(Trim$(colTemp(Key_DBPath))) & "BKPF.TXT") = True Then
intCount = ReturnTxtCount(NormalizePath(Trim$(colTemp(Key_DBPath))) & "BKPF.TXT")

Dim colFields As Collection
GetFields "BKPF", colFields


FileNumber = FreeFile ' 取得未使用的档案代码。
Open NormalizePath(Trim$(colTemp(Key_DBPath))) & "BKPF.TXT" For Input As #FileNumber
Dim bGetField As Boolean
bGetField = False

Do While Not EOF(FileNumber)
intMark = intMark + 1
Line Input #FileNumber, Lstr
If InStr(4, Lstr, "|") > 0 Then

If bGetField = False Then
bGetField = True

Else
'将所有年份均拷入临时表中
atemp() = Split(Lstr, "|")

'year
strField = "K" & DelTabAndCrlf(atemp(colFields("FieldGJAHR")))
strLine = "'" & strField & "'"
strLine = strLine & ","
End If
ArraySum = atemp

End If
Loop
Close #FileNumber
End If

Dim tempint() As Double

BubbleSort tempint
End Function

2007-04-30 15:47
快速回复:[求助]怎样返回查询到的最小值和冒泡排序后的数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066786 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved