数据结构练习:排序
package { /* 三種算法有時候不太記得,可以多看,升序和降序的分別, 還有快速排序和其他等排序算法 */ import flash.display.Sprite; import flash.events.*; public class Main extends Sprite { private var array:Array=new Array(1,3,2,4,7,5,8,10,9,6,-1); private var temp:Number; public function Main() { trace(SelectSort(array));//向上冒泡算法 } //向上冒泡算法,和向下冒泡算法一樣 public function BubbleSort(array:Array):Array { for (var i:int=0; i < array.length; i++) { for (var j:int=0; j < array.length - i; j++) { if (array[j] > array[j + 1]) { temp=array[j]; array[j]=array[j + 1]; array[j + 1]=temp; } } } return array; } //選擇排序,序列調換 public function SelectSort(array:Array):Array { var min:Number; var temp:Number; for (var i:int=0; i < array.length - 1; i++) { min=i;//從待測表當中選擇最小的,進行交換位置,然后拿第二個最小進行交換位置 //每一個進行比較 for (var j:int=i; j < array.length; j++) { if (array[j] < array[min]) { min=j; } if (min != i) { temp=array[i]; array[i]=array[min]; array[min]=temp; } } } return array; } //插入排序=已經排序好+沒排序好 public function InsertSort(array:Array):Array { var temp:Number; for (var i:int=0; i < array.length - 1; i++) { temp=array[i + 1];//從無序表拿數 for (var j:int=i; j > -1; j--) { if (array[j] > temp) { array[j + 1]=array[j]; array[j]=temp; } } } return array; } //快速排序 } }
算法簡單練習
轉載于:https://www.cnblogs.com/guoyiqi/archive/2009/06/23/2069353.html
總結
- 上一篇: 野性的呼唤
- 下一篇: (转)关键字const有什么含意?