选择法排序的代码编码?
答案:2 悬赏:30
解决时间 2021-02-21 00:17
- 提问者网友:陪我到最后
- 2021-02-20 09:53
选择法排序的代码编码?
最佳答案
- 二级知识专家网友:爱情是怎么炼成的
- 2021-02-20 10:23
Private Sub Command1_Click()
Dim x(1 To 5) As Integer
Dim n, i, j As Integer
n = 5
For i = 1 To n
x(i) = Val(InputBox("请输入"))
Next
For i = 1 To n - 1
For j = i + 1 To n
If x(i) > x(j) Then
temp = x(i): x(i) = x(j): x(j) = temp
End If
Next j
Next i
For i = 1 To 5
Print x(i);
Next
End Sub
Dim x(1 To 5) As Integer
Dim n, i, j As Integer
n = 5
For i = 1 To n
x(i) = Val(InputBox("请输入"))
Next
For i = 1 To n - 1
For j = i + 1 To n
If x(i) > x(j) Then
temp = x(i): x(i) = x(j): x(j) = temp
End If
Next j
Next i
For i = 1 To 5
Print x(i);
Next
End Sub
全部回答
- 1楼网友:孤伤未赏
- 2021-02-20 11:37
起泡排序算法 bubblesort(rectype r[]) { int i,j,noswap; rectype temp; for (i=0;i<n-2;i++) { noswap=true; for (j=n-1;j>=i;j++) if (r[j+1].key<r[j].key) { temp=r[j+1]; r[j+1]=r[j]; r[j]=temp; noswap=false; } if (noswap) break; } }
分析:
假设待排序的n个对象的序列为v[0],v[1],..., v[n-1],起始时排序范围是从v[0]到v[n-1] 在当前的排序范围之内,自右至左对相邻的两个结点依次进行比较,让值较大的结点往下移(下沉),让值较小的结点往上移(上冒)。每趟起泡都能保证值最小的结点上移至最左边,下一遍的排序范围为从下一结点到v[n-1]。 在整个排序过程中,最多执行(n-1)遍。但执行的遍数可能少于(n-1),这是因为在执行某一遍的各次比较没有出现结点交换时,就不用进行下一遍的比较。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯