数组排序

顺序上分为两种:从小到大的排序;从大到小的排序;

方法上分为四种:冒泡排序、快速排序、选择排序、插入排序

(1)冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来;

案例:

```

var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];

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

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

if(array[i]>array[j]){

a=array[j];

array[j]=array[i];

array[i]=a

}

}

}

consloe.log(array)

```

控制台的输出效果:

[0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

(2)快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

```

var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];

arrat.sort(aSort);

function  aSort(a,b){

return a-b;

}

consloe.log(array)

控制台的输出效果:

[0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

```

(3)插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序

```

for(var i = 1, j, key; i <  array.length; i++){

j = i;

key = array[j];

while(--j > -1){

if(array[j] > key){

array[j+1] = array[j];

}else{

break;

}

}

array[j+1] = key;

}

console.log(array)

```

控制台的输出效果:

[0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

(4)选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过

比较循环,输出有序数组

```

var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7]; 

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

var min=i;

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

if( array[min]>array[j] ){

min=j;

}

}

if(min!=i){

var temp=array[i];

array[i]=array[min];

array[min]=temp;

}

}

console.log(array)

```

控制台的输出效果:

[0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容