如何把几个数逆序排列?

来源:百度知道 编辑:UC知道 时间:2024/05/22 16:35:06
Private Sub Command1_Click()
Static b As Variant
B=Array(1,3,5,7,9)
……
End sub
如何把数组b中的5个数逆序存放(即排列为9,7,5,3,1)
后面的程序怎么写啊?

Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
For j = i + 1 To n
If a(j) > a(i) Then t = a(i): a(i) = a(j): a(j) = t
Next j
Next i
End Sub

void rank1(int a[],int n)
{
int i,j,t;
for (i=0;i<n-1;i++)
{for(j=i+1;j<n;j++)
{if (a[j]>a[i])
{
t=a[i];a[i]=a[j];a[j]=t;}
};
};
}
优化后的程序:
Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
tmax = i
For j = i + 1 To n
If a(j) > a(tmax) Then tmax = j
Next j
If tmax <> i Then t = a(i): a(i) = a(tmax): a(tmax) = t
Next i
End Sub

void rank1(int a[],int n)
{int i,j,t,tmax;
for (i=0;i<n-1;i++)
{tmax=i;
for(j=i+1;j<n;j++)
if (a[j]>a[tmax]) tmax=j;
if (tmax!=i)
{t=a[i];a[i]=a[tmax];a[tmax]=t;}
};
}

n=ubound(b)
for i = 0 to n\2
t=b(i)
b(i)=b(n-i)
b(n-i)=t
ne