JS冒泡排序选择排序与插入排序实例分析

小云云
Freigeben: 2017-12-14 09:25:12
Original
2094 Leute haben es durchsucht

本文主要介绍JS排序算法之冒泡排序,选择排序与插入排序,结合实例形式分析了冒泡排序,选择排序与插入排序的概念、原理及实现方法,需要的朋友可以参考下,希望能帮助到大家。

冒泡排序:

对数组的中的数据,依次比较相邻两数的大小。

如果前面的数据大于后面的数据,就交换这两个数。

时间复杂度O(n^2)

function bubble(array){ var temp; for(var i=0; iarr[j+1]){ temp = arr[j+1]; arr[j+1] =arr[j]; arr[j]=temp; } }console.log(arr); } }//冒泡排序
Nach dem Login kopieren

选择排序:

首先从原始数组中选择一个最小的数据,和第一个位置1的数据交换。

再从剩下的n-1个数据中选择次小的数据,将其和第二个位置的数据交换。

不断重复,知道最后两个数据完成交换。

时间复杂度O(n^2)

function selectionSort(array){ var min,temp; for(var i=0; i
        
Nach dem Login kopieren

插入排序:

首先对前两个数据从小到大比较。

接着将第三个数据与排好的前两个数据比较,将第三个数据插入合适的位置。以此类推。

(插入排序有两个循环,外循环将数组挨个移动,内循环将对外循环选中的元素及他前面的数进行比较。)

时间复杂度O(n^2)

function insertSort(arr){ var temp, j; for(var i=1; i0 && arr[j-1]>temp){ arr[j]=arr[j-1]; j--; } arr[j]=temp; } }
Nach dem Login kopieren

相关推荐:

JS实现的计数排序与基数排序算法示例_javascript技巧

排序算法详解

javascript数组去重和快速排序算法实例详解

Das obige ist der detaillierte Inhalt vonJS冒泡排序选择排序与插入排序实例分析. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!