排序(比较与交换)排序的稳定性:排序之前,R[i]在R[j]前面,排序后,R[i]还在R[j]前面,则这个排序方法是稳定的。否则这个排序方法是不稳定的。外排序:----依赖---》内排序待排序的数据元素数量很大,整个序列的排序过程不可能在内存中完成。内排序:整个排序过程不需要访问外存便能完成。排序的审判1:时间性能(重要)关键性能差异性体现在比较和交换的数量。2:辅助存储空间为完成排序操作需要的额外的存储空间。必要时可以时间换空间。3:算法的实现复杂性过于复杂的排序算法会影响代码的可读性和可维护性,也可能会影响排序的性能。

选择排序

基本思想:

每一趟在后面n-i个待排的数据元素中选出关键字最小的元素,作为有序元素序列的第i个元素。

实例: js

<script type="text/javascript">

function Arithmetic(){

}

Arithmetic.selection=function(a){

var min =0;

var max =0;

for(var i=0;i<a.length;i++){

min=i;//标记最小

for(var j=i;j<a.length-1;j++){

if(a[min]>a[j+1]){

min=j+1;

}//找出最小并标记

}

max=a[i];


a[i]=a[min];//交换

a[min]=max;


}

console.log(a);

}

var arr =[8,4,2,7,1,42,20,5,1,0,2,7];

Arithmetic.selection(arr);

</script>