冒泡排序的实现..
向大家介绍一下冒泡排序,利用冒泡排序处理数组.
冒泡排序是最简单的排序方法.这种方法的基本思想是,将待排序的元素看做是竖着排列的"气泡",较小的元素比较轻,所以要往上浮(这应该是被叫做"冒泡排序"的原因吧).在冒泡排序中,我们要对这个"气泡"序列进行若干遍的处理.所为处理一遍,就是自上而下检查一遍这个序列,并时刻注意比较两个相邻元素的顺序是否正确.如果发现两个相邻元素的顺序不对,即轻的元素在下面,就交换它们的位置.显然,处理一遍之后,轻的元素上浮,使得最重的元素沉底;处理两遍以后,次重的元素就沉到了次底位置.在作为第二遍处理时,由于最底层的元素已是最重元素,所以不必检查.一般地,第i遍处理是,不必检查第i底层位置以下的元素,因为经过前面i-1遍的处理,它们已经正确地排好了顺序.这样一直进行下去就可以实现对改数组数据的排序了.
哎,好累.我这样讲大家不会不清楚吧,嗯..?
最后,附上一段实现冒泡排序的源码(AS2):
//记得自己声明一个名为myArr的数组哦..
for (var pass = 1; pass<myArr.length; pass++) {
for (var pair = 1; pair<(myArr.length-pass+1); pair++) {
if (myArr[pair-1]>myArr[pair]) {
temp = myArr[pair-1];
myArr[pair-1] = myArr[pair];
myArr[pair] = temp;
}
}
}
//可以用trace()测试一下效果.
就写到这里了,希望对大家有帮助.!