冒泡法:(1)从第一个元素开始,将相邻的数比较,若为逆序,就交换,比较完一轮,最大的数已沉底,成为数组中的最后一个元素a(n)(2)对a(1)和a(n-1)的n-1个数进行同(1)的操作,次大的数放入a(n-1)中,完成第二轮排序。(3)进行n-1轮排序,所有的数排序完毕。Dima%(),i%,j%,n%Fori=1Ton-1Forj=1Ton-iIfa(j)a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=tEndIfNextjNextiPrintFori=1TonPrinta(i);Nexti顺序交换法:(1)从第一个元素开始,将它和其后的每个元素进行比较,若为逆序,就交换,比较完一轮,a(1)成为数组中的最小的元素。(2)对a(2)和a(n)的n-1个数进行同(1)的操作,次小的数放入a(2)中,完成第二轮排序。(3)进行n-1轮排序,所有的数排序完毕。Dima%(),i%,j%,n%Fori=1Ton-1Forj=i+1TonIfa(i)a(j)Thent=a(i):a(i)=a(j):a(j)=tEndIfNextjNexti选择法(1)从n个数的序列中选出最小的数,与第1个数交换位置;(2)除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;(3)重复(1)n-1遍,最后构成递增序列。Dima%(),i%,j%,n%Fori=1Ton–1k=iForj=i+1TonIfa(j)a(k)Thenk=jNextjifkithent=a(i):a(i)=a(k):a(k)=tNexti插入法:1.找到插入数在数组中的位置i2.将从n到i的每个元素向后移动一个位置3.插入数插入法1:将一个数插入到有序数列,使插入后数列仍然有序Dima(1To10)AsIntegerKey=Val(InputBox(输入一个数))Fori=1to9Ifa(i)KeyThenExitFornextiFork=9ToiStep-1a(k+1)=a(k)Nextka(i)=Key插入法2:用上面的插入方法将一批数排序(从小到大),设数列中开始只有一个元素。Dimx(1To10)AsIntegerFori=1To9Key=x(i+1)j=1DoWhile(Key=x(j)Andj=i)j=j+1LoopFork=iTojStep-1x(k+1)=x(k)Nextkx(j)=KeyNexti