冒泡排序算法和简单选择排序算法的js实现

之前已经介绍过冒泡排序算法和简单选择排序算法和原理,现在有Js实现。

冒泡排序算法

  let dat=[5, 8, 10, 3, 2, 18, 17, 9];
       function bubbleSort(data) {
        for(let i=0;i<data.length-1;i++){
            for(let j=0;j<data.length-1-i;j++){
                if(data[j]>data[j+1]){
                     [data[j],data[j+1]]=[data[j+1],data[j]];
                }

            }
        }
        return data;
       }    

        var sortedData=bubbleSort(dat);
        console.log(sortedData);

原文地址:https://www.cnblogs.com/sunmarvell/p/9249809.html

时间: 2024-08-02 02:51:22

冒泡排序算法和简单选择排序算法的js实现的相关文章

【算法】简单选择排序C语言实现

上一篇我们谈到了冒泡排序,实现了两个版本的冒泡排序,不知道大家有没有对冒泡排序的特点进行一下总结呢?其实冒泡排序还算是比较暴力的,因为它频繁不断的进行交换,那么这样的话,我们的计算机的计算频率就会很高,不算是很高效,那么我们可不可以找到一种交换次数少一点的方法呢?这就引出了我们接下来要介绍的简单选择排序算法了. 简单选择排序的基本思想就是通过N-1次的关键字间的比较,从N - i + 1个记录中选择一个关键字最小记录,并和第i(1<= i <= n)个记录交换,其实简单选择排序和冒泡排序在思路

算法之简单选择排序和堆排序

3. 选择排序-简单选择排序(Simple Selection Sort) 基本思想: 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止. 简单选择排序的示例: 操作方法: 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换: 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换: 以此类推.....

简单选择排序算法 Simple Selection Sort

1.简单选择排序法的思想: 通过n-i 次关键字间的比较,从n-i+1 个记录中选出关键字最小的记录,并和第i (1<= i <=n)个记录交换之. 1 void SelectSort( SqList * L) 2 { 3 int i, j, min; 4 for(i=1; i<L->length; i++) 5 { 6 min = i; 7 for(j=i+1; j<=L->length; j++) 8 { 9 if(L->r[min] > L->r

【算法】 简单选择排序

/// <summary> /// 简单选择排序 /// 思路 (与冒泡排序类似): /// 遍历源集合,每次选出最大或最小元素,放在未排序子集末尾或首位 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list"></param> /// <param name="func"&g

算法_简单选择排序

每一轮选一个最小的和最靠前的位置交换. 栗子 : 3 7 1 5 第一轮:1 7 3 5 第二轮:1 3 7 5 第三轮:1 3 5 7 for(int i = 0;i<n;i++){//这里应该可以是i<n-1,最后一轮只剩一个无所谓 k = i; for (int j = i + 1; j < n; j++) { if (a[k] > a[j]) { k = j; } } if (k != i) { temp = a[i]; a[i] = a[k]; a[k] = temp;

排序算法之简单选择排序

基本思想 在一组元素中选择具有最小排序码的元素,若它不是这组元素中的第一个元素,则将它与这组元素中的第一个元素对调:在未排序的剩下的元素中反复运行以上步骤,直到剩余元素仅仅有一个为止. 代码 private void selectSort(int[] a, int left, int right) { for (int i = left; i < right; i++) { int k = i; int temp; for (int j = i + 1; j <= right; j++) {

数据结构和算法之简单选择排序

/// <summary> /// 简单选择排序 /// 给定数组:int[] arr={里面n个数据}: /// 第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换: /// 第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换: /// 以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成. /// </summary> /// <param n

C语言排序算法——简单选择排序算法

冒泡排序算法的思想是不断的交换,通过交换完成最终的排序. 选择排序的基本思想是每一趟在n-i+1个记录中选取最小的记录,作为第i个的记录. 1 void SimpleSelectSort(int *p) 2 { 3 int i,j,min; 4 for(i=0;i<10;i++) 5 { 6 min=i;    //将当前下标定义为最小下标 7 for(j=i+1;j<10;j++) 8 { 9 if(p[min>p[j]])    //如果有小于当前最小值的 10 { 11 min=j

算法 之 简单选择排序法

简单排序算法:每一趟选择最小的与该趟第一个数交换,而不动其他数. 例如  3,8,2,5,7第1趟:2与3交换  2,8,3,5,7 第2趟:3与8交换  2,3,8,5,7 第3趟:5与8交换  2,3,5,8,7 第4趟:7与8交换  2,3,5,7,8 关键点在于:保持其他数不动,只把索引为0的数(第一个数)与最小的数作交换. 时间复杂度 O(n^2) $a = array(3,8,2,5,7,1,6,4); $index = 0; for($j = 0 ; $j < count($a)-