一道vf题.,,..求帮忙 用多重循环做随机产生10个数,用冒泡,选择,插入三种方法按从小到大排列

如题所述

只写算法了,写全程序太多了
冒泡排序
a[1]~a[10]:10个随机数
for i = 1 to 10 do
for j= i to 10 do
if a[j]>a[i] then
x= a[j]
a[j]=a[i]
a[i]=x
end

选择排序
a[1]~a[10]:10个随机数
b[1]~b[10]:空数列
for i= 10 downto 1 do
{x=1
for j= 1 to i do
[
if a[j]>a[x] then x=j
]
b[i]=a[x]
}
插入排序
用指针很方便,数组麻烦。
a[1]~a[10]:10个随机数
b:空链表
b=a[1]
for i =2 to 10 do
{
while (b<a[i])or (b=null) do
[b=b.next]
b=a[i]
b =b.first
}追问

这是全的么?我可以再追加50分啊大神..

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-16

冒泡排序:

clear

dimension a(10)

?"排序前:"

for i=1 to 10

a(i)=int(rand()*100)

??a(i)

endfor

for i=1 to 10

    for j=1 to 10-i

        if a(j+1)<a(j)

        t=a(j)

        a(j)=a(j+1)

        a(j+1)=t

        endif

     endfor

endfor

?"排序后:"

for i=1 to 10

??a(i) 

endfor

选择排序:

clear

dimension a(10)

?"排序前:"

for i=1 to 10

a(i)=int(rand()*100)

??a(i)

endfor

for i=1 to 9

    k=i

    for j=i+1 to 10

       if a(j)<a(k)

       k=j

       endif

    endfor

    if k!=i

       t=a(i)

       a(i)=a(k)

       a(k)=t

     endif

endfor

?"排序后:"

for i=1 to 10

??a(i) 

endfor

插入排序: 

clear

dimension a(11)

?"排序前:"

for i=2 to 11

    num=int(rand()*100)

    ??num

    a(1)=num

    for j=i-1 to 1 step -1

        if num<a(j)

           a(j+1)=a(j)

        else

           a(j+1)=num

           exit

        endif

     endfor

endfor

?"排序后:"

for i=2 to 11

??a(i) 

endfor

一道vf题.,,..求帮忙 用多重循环做随机产生10个数,用冒泡,选择,插入三种...
a[i]=x end 选择排序 a[1]~a[10]:10个随机数 b[1]~b[10]:空数列 for i= 10 downto 1 do {x=1 for j= 1 to i do [if a[j]>a[x] then x=j ]b[i]=a[x]} 插入排序 用指针很方便,数组麻烦。a[1]~a[10]:10个随机数 b:空链表 b=a[1]for i =2 to 10 do ...

VB中,随机产生10个0~100之间的随机数,按从小到大的顺序排列怎么做...
可用冒泡排序法:代码如下:'不重复随机数排序'添加 Command1 Command2 Command3Option Explicit Dim i&, j&, k&, t&, Trec&, Arr&(), RndVal&, TmpVal&, S Private Sub Form_Load()Command1.Caption = "选随机数"Command2.Caption = "小到大排序"Command3.Caption = "大到小排序"'*...

vb 产生10个两位随机整数,用冒泡排序法对10个数按升序排序
Private Sub Command1_Click()Const n = 10Dim a(1 To n) As IntegerDim i As Integer, j As Integer, t As Integer, min As IntegerRandomizeFor i = 1 To n a(n) = Int(90 * Rnd) + 10Next iFor i = 1 To n Print a(i):Next iPrintFor i = 1 To n - 1 t = 1 For j = i...

vb编程 产生10个50-100(包括50和100)的随机整数,并用“冒泡排序”按从小...
Private Sub Command1_Click()Dim a(1 To 10) As Integer Dim i As Integer, j As Integer Print "随机取到的10个50-100(包括50和100)的随机整数为"For i = 1 To 10 Randomize a(i) = Int(Rnd() * 51 + 50)Print a(i);Next i Print Print "用“冒泡排序”按从小到大的顺序排...

一道pascal题:输入10个正整数,将这10个数字按从大到小的顺序排列_百度...
当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。若待排序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排序。当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。当n较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间允许的情况下。宜用归并...

JAVA随机输出10个数不重复并且按顺序从小到大排列,用java.lang.Math.ra...
\/\/ 方法体2:向random数组中添加十个不同的元素 private static int[] random() { \/\/ 定义十个元素的数组用来存放十个随机数 int random[] = new int[10];\/\/ 定义一个布尔类型的变量flg 当flg为true时,才向输入random中添加元素; 初始化为true;boolean flg = true;for (int i = 0; ...

编写程序,用选择法对10个整数按从小到大顺序排序
追问 就是不要固定那10个数,可以自己输入10个数的 追答 int main(){ int a[10]; int i; for(i=0;i<10;i++) { scanf("%d",&a[i]); } printf("before\\n"); for(i=0;i<10;i++) { printf("%d ",a[i]); } sort(a,10); printf("\\nafter\\n"); for(i=0;i<10;i++) { ...

...20个10~90之间的整数,求出其中的素数,然后用冒泡法只对这些素数按...
void main(){ int array[20];int i,j,k;int m,n;int temp;srand(time(NULL));\/\/以时间作为产生随机数的种子.这句产生真正的随机数,若没有此句,程序每次运行产生的结果一样 printf("产生20个随机数开始\\n");for ( i = 0; i <20; i++){ array[i] = rand()%81+10;printf("%d...

怎样写流程图才能使raptor随机产生一个1到100的整数
import java.util.Random;\/ 定义一个具有10个整形元素的数组,随机生成1——100之间的整数初始化数组元 素:(List实现)(1)使用冒泡算法对数组元素进行排序,输出结果。(2)除了使用冒泡排序算法之外,请再给出至少3中不同的排序算法。\/ public class paixu{ public static void main(String[]args)...

...随机产生40个float类型的数组元素并用选择排序法按降序排列_百度知 ...
\/\/思路:直接生成随机浮点数并排序有点麻烦。所以,先生随机整数,排序,再将每个数同\/\/时除以100,形成浮点数。当然,也可以除以10,1000之类的。自己喜欢.#include <iostream>#include <ctime>#define N 10 \/\/数组预定义大小,请自行更改using namespace std;void Bubble(int *a, int n){ \/\/...

相似回答