IOS

数组排序

2017-09-12  本文已影响0人  痛心凉

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

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

(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]

上一篇下一篇

猜你喜欢

热点阅读