请问怎样实现将6个数按从小到打排序

knetse 2004-10-27 02:19:37
请指教
...全文
160 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jason78 2004-10-27
  • 打赏
  • 举报
回复
对阿,冒泡法
northwolves 2004-10-27
  • 打赏
  • 举报
回复
只有6个数,冒泡就可以了
xinliangyu 2004-10-27
  • 打赏
  • 举报
回复
我也不来回答你问题,只指出楼主代码中的一个问题:
第一行:Dim a(6) As Integer
浪费了,可改为:Dim a(5) As Integer
或 : Dim a(0 to 5) As Integer

lang_csdn 2004-10-27
  • 打赏
  • 举报
回复
不知道数据库结构有没有VB版的!
风之浪漫 2004-10-27
  • 打赏
  • 举报
回复
排序的问题!~~好像很久没有人问了!~
liweiswin 2004-10-27
  • 打赏
  • 举报
回复
介绍你一个高效的SHELL排序。不过是C语言代码,你拿去好好研究一下吧。
#include "stdio.h"

void shell(char *item,int count)
{
register int i,j,gap,k;
char x,a[5];

a[0]=9;a[1]=5;a[2]=3;a[3]=2;a[4]=1;

for(k=0;k<5;k++)
{
gap=a[k];
for(i=gap;i<count;++i)
{
x=item[i];
for(j=i-gap;x<item[j] && j>=0;j=j-gap)
item[j+gap]=item[j];
item[j+gap]=x;
}
}
}

void main()
{
char s[80];

printf("Input a string:");
gets(s);
shell(s,strlen(s));
printf("\nThe sorted string is: %s",s);
}
落伍者 2004-10-27
  • 打赏
  • 举报
回复
楼上用的是交换法,你还可以用插入法,选择法,复杂一点可以用堆排序,二插排序树,快速排序法,等等
建议看一下数据结构这本书
51365133 2004-10-27
  • 打赏
  • 举报
回复
Dim a(6) As Integer
Private Sub Form_Load()
Randomize (Timer)
For i = 1 To 6
a(i) = Int(Rnd * 10) + 2
Next i
For i = 1 To 6
For j = i To 6
If a(i) < a(j) Then
temp = a(i)
a(i) = a(j)
a(j) = temp
End If
Next j
Next i
For i = 1 To 6
MsgBox a(i)
Next i
End Sub

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧