clsArray(1).Id=false
clsArray(2).Id=false
clsArray(3).Id=false
clsArray(4).Id=ture
clsArray(5).Id=ture
clsArray(6).Id=false
....
排成这样
clsArray(5)
clsArray(4)
clsArray(1)
clsArray(2)
clsArray(3)
clsArray(6)
...
并输入,简单代码望提供,谢谢。

解决方案 »

  1.   

    true的倒序 false 的正序
      

  2.   

    如果是我上面说的这样 排序就很简单了
    true的序号*(-1)
    也就是
    -1*4
    -1*5
    然后对序号进行排序
    在按照排好的顺序 输出的时候数组下标序号再取绝对值
      

  3.   

    差不多是“true的倒序 false 的正序”,ture要放在数组最前面,能写一点出来吗,还有能不能是这样
    dim temp
    temp=clsArray(i),把整个数组的值赋给一个临时数组,怎样确保输出???
    还有个基础问题,一维带类的数组可不可以看做是二维数组???
      

  4.   

    排序方法我都说了 相当于
    1
    2
    3
    -4
    -5
    6
    这6个数你排下序 2次遍历就行了 可以优化成1次遍历数组复制:
    temp=clsArray
    ''一维带类的数组可不可以看做是二维数组???
    无所谓的 适用就行 每个人解决或者描述问题方法不一样
    但我感觉完全两回事
      

  5.   

    我写写,你看对不对,对VB不是很熟悉
    for i=1 to n
     if clsArray(i).Id=ture then
      i=-i
     end if
    next
    后面就不太明白了。
     
      

  6.   

    a=Array(1,2,3,-4,-5,6)
    for i=2 to 6
      temp=a(i)
      j=i-1
      do until temp<a(j)
      a(j+1)=a(j)
       j=j-1
       Loop
      a(j+1)=temp
    next i
      

  7.   

    for i=0 to 5
     print clsArry(abs(a(i))
    next i
      

  8.   

    我还是给你排序代码吧 一次遍历就好了
    Private Sub Command1_Click()
      Dim a(1 To 6) As Boolean, b() As Long
      Dim i As Long, kd As Long, ka As Long
      a(1) = False
      a(2) = False
      a(3) = False
      a(4) = True
      a(5) = True
      a(6) = False
      kd = UBound(a)
      ReDim b(1 To kd)
      ka = LBound(a)
      For i = UBound(b) To 1 Step -1
        If a(i) Then
          b(ka) = i
          ka = ka + 1
        Else
          b(kd) = i
          kd = kd - 1
        End If
      Next
      For i = 1 To UBound(b)
        Debug.Print b(i), a(b(i))
      Next
    End Sub
      

  9.   

    如果这个是一维数组附带类的,也就是说clsArray(i).Id,clsArray(i).time,clsArray(i).Name,clsArray(i).number....
    Id,time,Name,number的数据类型都不相同,
    用你的代码这样会不会有影响????应该注意些什么???
      

  10.   

    有个小问题,如果clsarray(b(i)).judge能输出false或者true,
    那么For i = UBound(b) To 1 Step -1
        If a(i) Then
    为什么不能写成
    For i=ubound(b) to 1 step -1
    if clsarray(b(i)).judge then
    而要写成clsarray(i)