一个非常简单的排序程序
2011-11-14华晶
华晶
北华大学基础医学院生物医学工程教研室,吉林 吉林 132013
一个非常简单的排序程序
华晶
北华大学基础医学院生物医学工程教研室,吉林 吉林 132013
介绍一非常简单的排序应用程序。
排序;排序程序;VB程序
把n个任意排列的一组数排序,转变为从小到大或从大到小排列,这在数据处理中(如统计学处理中的求区分度等)很有用。实际中,有人曾提出过或简单些或复杂些的排序程序。
笔者提出一个非常简单的排序程序。
排序思想:比如,把n个任意排列的一组数转变从大到小排列。先从排列中选出最大的数,作为排列的第一个数;然后再从余下的数中选出最大的数(次最大),作为排列的第二个大数(次最大);……,如此进行下去,直到结束,则获取从大到小的排列。
做法如下:以VB代码排序程序为例。
1.赋值给定义的数组t(n),如把任意排列的六个数4,5,2,3,1,7赋数组t (n)后,可得t(1)=4,t(2)=5, t(3)=2, t(4) =3, t(5) =1,t(6)=7;
2.选一个比数组中的数都小的数,用变量代码tx表示之,如令tx=-100;3.编下列二重循环作排序主程序,

选大数总的做法是:第一重循环 i的数值,对应各次排列首位数的位置,伴随i=1到6的变化,在第二重循环中,在j=i到6循环中,选出各个最大数tx= t(j),依次标记为t(i) = tx(i=1,2,3,4,5,6)。在j=i到6的循环中,每当选出大于相应首位数的大数,则把该大数tx = t(j)与此时排在数组相应首位的数t(i)互换位置,其它数位置不动。
分析上述主程序排序过程:以对数组4,5,2,3,1,7作从大到小排列为例。
第一重循环 i=1时,排在首位的数是t(i) = t(j)= t(1) = 4。若各条件t(j) > tx成立,则由第二重循环选出最大数tx =t(j) = t(6) =7,记为t(i) = t(1) = 7。
选出
