6个回答
推荐于2018-03-13
展开全部
书上讲的是不容易理解我来给你说下比如 3,1,2,5,6,4 为例首先把数按顺序赋给数组 a(1~6) 不难吧然后给你提一点冒泡法最后一个数会确定下来第一个数,来下面:从大到小排: 1。for i = 1 to 6 2。 for j=i to 6-i 3。 if a(j)<a(j+1) then t=a(i) a(j)=a(j+1) a(j+1)=t 4。 next j 5。next i首先i=1,j=1 j=j+1 3和1比不交换 i=1 j=2 j=j+1 1和2交换 为3,2,1,5,6,4 i=1 j=3 j=j+1 1和5交换 为3,2,5,1,6,4 i=1 j=4 j=j+1 1和6交换 为3,2,5,6,1,4 i=1 j=5 j=j+1 1和4交换 为3,2,5,6,4,1 注意代码6 for j= 1 to 6-i 为什么6-i 因为最小的数 1 已经确定了,下次不需要排了。 继续反复操作 确定倒数第2个最小的,直到确定到顺数第2个,完成。 为什么是顺数第2个,因为第1个和第2个比较了,第1个就不用比了,其中一个最大一个最小。累啊```不知道表达清楚没
2013-04-18
展开全部
设要排序的数组为a(n)for j=1 to n-1'外循环for i= j+1 to n‘内循环if a(j)>a(i) then’分别比较第i和其后所有个元素,若第i个元素大于第j个元素则交换,相当于把最小的移到第一个,即冒泡到最上个 t=a(i)a(i)=a(j)a(j)=tnext inext jend ifnext n内循环一次保证最小的元素移到最前,下次排序只需要从第j+1个元素开始就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-06-13
展开全部
Dim i, j, intmin As Integer, n As Integer
Dim sngsq(), sngt As Single '输入原始数据
n = Val(InputBox("请输入排序的个数N的值"))
ReDim sngsq(n) '重新定义数组
Print "排序前"
For i = 1 To n
MsgBox "请输入第" & Str(i) & "个数:"
sngsq(i) = Val(InputBox("请输入")) '将输入的数据转换为数值型
Print sngsq(i);
Next
Print
Print "排序后"
'排序
For i = 1 To n - 1
intmin = i '对第i遍排序,初始假定第i个元素最小
For j = i + 1 To n '找出最小的元素序号
If sngsq(j) < sngsq(intmin) Then intmin = j
Next j
'将找出的最小元素与第i个元素交换
sngt = sngsq(i)
sngsq(i) = sngsq(intmin)
sngsq(intmin) = sngt
Next i
'打印输出
For i = 1 To n
Print sngsq(i); '不换行输出
Next i
Dim sngsq(), sngt As Single '输入原始数据
n = Val(InputBox("请输入排序的个数N的值"))
ReDim sngsq(n) '重新定义数组
Print "排序前"
For i = 1 To n
MsgBox "请输入第" & Str(i) & "个数:"
sngsq(i) = Val(InputBox("请输入")) '将输入的数据转换为数值型
Print sngsq(i);
Next
Print "排序后"
'排序
For i = 1 To n - 1
intmin = i '对第i遍排序,初始假定第i个元素最小
For j = i + 1 To n '找出最小的元素序号
If sngsq(j) < sngsq(intmin) Then intmin = j
Next j
'将找出的最小元素与第i个元素交换
sngt = sngsq(i)
sngsq(i) = sngsq(intmin)
sngsq(intmin) = sngt
Next i
'打印输出
For i = 1 To n
Print sngsq(i); '不换行输出
Next i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果五个号码为数组元素(1)到(5),正确的排序过程:
对于i = 1至4
对于L = 1到5 - 如果A(L)(L +1)
N = A(L)
A(L),= A(L +1)
(L +1) =
结束如果下一页l
接下来,我
能够到第一台计算机来验证结果,然后分析程序。
对于i = 1至4
对于L = 1到5 - 如果A(L)(L +1)
N = A(L)
A(L),= A(L +1)
(L +1) =
结束如果下一页l
接下来,我
能够到第一台计算机来验证结果,然后分析程序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询