vb 编程 对已知存在在数组中的6个数,分别采用选择法冒泡法实现从小到大的排序。

作者&投稿:洪肢 (若有异议请与网页底部的电邮联系)
编写函数用冒泡排序法对数组中的n个数据进行从小到大的排序。~

1、新建一个163.php。

2、输入php网页的结构()。

3、声明PHP与浏览器交互的文件类型和编码。

4、使用 array() 函数定义一个$numbers数组。

5、使用 sort() 函数对数组 $numbers 中的元素进行排序。

6、使用 print_r() 函数,输出排序后的数组。

7、运行网页,在浏览器中输出排序后的数组。

Dim a(1 To 6) As IntegerPrivate Sub Command1_Click() Dim t As Integer For i = 1 To 5 t = i For j = i + 1 To 6 If a(t) > a(j) Then t = j Next j b = a(i): a(i) = a(t): a(t) = b Next i Print "排序后的数组为:" For i = 1 To 6 Print a(i); Next i PrintEnd SubPrivate Sub Form_Load() Me.AutoRedraw = True Randomize Print "排序前的数组为:" For i = 1 To 6 a(i) = Int(Rnd * 90 + 10) Print a(i); Next i PrintEnd Sub

1、冒泡法(递增) 算法思想:(将相邻两个数比较,大的调到后头) 1)有n+1个数(存放在数组a(n)中),第一趟将每相邻两个数比较,大的调到后头,经n次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”; 2)第二趟对余下的n个数(最大的数已“沉底”)按上法比较,经n-1次两两相邻比较后得次大的数; 3)依次类推,n+1个数共进行n趟比较。
For i=0 To n - 1
For j = 0 To n-1-i
If a(j) > a(j+1) Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
End if
Next j
Next i‘一步一步将大的数字沉到底部

2、选择法思想: 1)对有n+1个数的序列(存放在数组a(n)中),从中选出最小(升序)或最大(降序)的数,与第1个数交换位置; 2)除第1 个数外,其余n个数中选最小或最大的数,与第2个数交换位置; 3)依次类推,选择了n次后,这个数列已按升序排列。
例:For i = 0 To n - 1
p = i
For j = i + 1 To n
If a(p) > a(j) Then
p = j
Next j
temp = a(i)
a(i) = a(p)
a(p) = temp
Next i

算法弄清楚步骤了,根据逻辑就可以写出来了^_^,望采纳(⊙o⊙)哦

一个冒泡..自己拿去.

 

 



一遍遍的遍历数组就行了,把大的方最后,慢慢的就排好序了。


景洪市18547312166: 编写vb程序:对已知存放在数组中的6个数由从小到大排序 -
施滕傲承: Private Sub Command1_Click() Dim a(1 To 6) Cls Print "排序前的数为:"; For i = 1 To 6 a(i) = Int(Rnd * 90 + 10) Print a(i); Next i Print '排序 For i = 1 To 5 For j = i + 1 To 6 If a(i) > a(j) Then b = a(i): a(i) = a(j): a(j) = b Next j Next i Print "排序后的数为:"; For i = 1 To 6 Print a(i); Next i End Sub

景洪市18547312166: vb 编程 对已知存在在数组中的6个数,分别采用选择法冒泡法实现从小到大的排序. -
施滕傲承: 1、冒泡法(递增) 算法思想:(将相邻两个数比较,大的调到后头) 1)有n+1个数(存放在数组a(n)中),第一趟将每相邻两个数比较,大的调到后头,经n次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”...

景洪市18547312166: 在VB中怎样把已知数组中的全部元素进行输出 -
施滕傲承: 假设你的数组是a(),且已经正确赋值,用以下语句输出 Dim i As Integer For i = LBound(a) To UBound(a) Print a(i) Next

景洪市18547312166: 用VB编写程序:给一维数组输入6个整数:1到6.然后显示如图方阵.请问怎么设计这个程序啊 -
施滕傲承: 我机器上没有vb,你试一下这个 dim a(6) as integer dim i as integer dim j as integer for i = 0 to 5 a(i) = inputbox() next i for i = 5 to 0 step -1 for j = 1 to 6 print a((j + i) mod 6) next j print vbcrlf next i

景洪市18547312166: vb编写程序在一个已按升序排好的数组中插入插入一个从键盘上输入的数使程序仍 -
施滕傲承: 假设已知a(5)数组有6个排序OK的数. 加一个Text控件 和 命令Dim a() As Integer Private Sub Command1_Click() num = InputBox("Please enter number", "Insert number") ReDim a(6) As Integer a(0) = 1 a(1) = 2 a(2) = 4 a(3) = 6 a(4) = 11 ...

景洪市18547312166: 在VB中定义一个数组 有6个元素 条件是:只要A列不为空就让他们按照为0到5的顺序循环输出到EXCEL的B列中?
施滕傲承: B1 输入 公式: =IF(A1="","",MOD(ROW()-ROW(A$1)-COUNTIF(A$1:A1,""),6)) 下拉 ----------------------------------------------------- 编VB代码比编函数更易: Sub numx() Set xxx = [A1:A100] r = 0 For Each xx In xxx If Not IsEmpty(xx) Then xx.Offset(0, 1) = r r = r + 1 If r = 6 Then r = 0 End If Next End Sub

景洪市18547312166: vb编程 使用inputbox()函数输入6个整数给数组a,使用冒泡法排序对数组a进行排序并输出. -
施滕傲承: Private Sub Command1_Click()Dim a(5) As Integer, i As Integer, j As Integer, t As IntegerFor i = 0 To 5a(i) = Int(InputBox("请输入第" & (i + 1) & "个数:")NextFor i = 0 To 4For j = i + 1 To 5If a(i) > a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iFor i = 0 To 5Print a(i)Next End Sub

景洪市18547312166: vb中输入一个数如何在已知数组查找它? -
施滕傲承: 假设a数组有10个元素.much = Val(InputBox("请输入一个整数")) For i = 1 To 9 For j = i + 1 To 10 If a(i) > a(j) Then temp = a(i) a(i) = a(j) a(j) = temp End If Next j Next i low = 1: Top = 10 f = 0 Do t = Int((Top + low) / 2) If much = a(t) Then f = 1 Else If ...

景洪市18547312166: 设有数组10个数存放在数组A中 ,由小到大的顺序排列输出.请用c 语言 或VB编写程序. -
施滕傲承: C语言:void main() { int A[]={3,2,5,8,1,0,7,4,6,9}; int i,j,k; //冒泡法排序 for(i=0;i<10;i++) {for(j=i+1;j<10;j++){if(A[i]>A[j]){k=A[i];A[i]=A[j];A[j]=A[i];}} } //输出 for(i=0;i<10;i++) {printf("%d\n",A[i]); }}

景洪市18547312166: 你回答的一道程序设计题:vb产生一个6*6的转置矩阵,将二维数组中所有行和对应列的元素进行交换. -
施滕傲承: 那应该是你的数组的问题吧,也就是a(m, n),这需要赋值的,下面是一个实例 Private Sub Command1_Click() Dim a(5, 5)'赋值 For m = 0 To 5 For n = 0 To 5 a(m, n) = n Print a(m, n); Next Print Next Print Print Dim czjl(5, 5) As Boolean '转置过程...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网