js鸡尾酒排序算法

Posted yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js鸡尾酒排序算法相关的知识,希望对你有一定的参考价值。

    // 鸡尾酒排序算法
    function wineSort(arr) {
        console.log(‘鸡尾酒算法第0次:‘ + arr.join(‘,‘));
        let len = arr.length;
        for (let i = 0; i < len / 2; i++) {
            // 奇数次
            let isSort = true;
            for (let j = i; j < len - 1 - i; j++) {
                if (arr[j + 1] < arr[j]) {
                    let temp = arr[j + 1];
                    arr[j + 1] = arr[j];
                    arr[j] = temp;
                    isSort = false;
                }
            }
            console.log(‘鸡尾酒算法第‘ + (i + 1) + ‘次:‘ + arr.join(‘,‘));
            if (isSort) {
                break;
            }
            // 偶数次
            isSort = true;
            for (let k = len - 1 - i; k > i; k--) {
                if (arr[k] < arr[k - 1]) {
                    let temp = arr[k];
                    arr[k] = arr[k - 1];
                    arr[k -1] = temp;
                    isSort = false;
                }
            }
            console.log(‘鸡尾酒算法第‘ + (i + 1) + ‘次:‘ + arr.join(‘,‘));
            if (isSort) {
                break;
            }
        }
        console.log(‘鸡尾酒算法:‘ + arr.join(‘,‘));
    }

    let array = [3, 4, 1, 2, 5, 6, 7, 8];
    wineSort(array);

  

以上是关于js鸡尾酒排序算法的主要内容,如果未能解决你的问题,请参考以下文章

算法----鸡尾酒排序

鸡尾酒算法排序

冒泡排序和鸡尾酒排序的代码分析

算法笔记:鸡尾酒排序算法

排序算法总结——冒泡排序与鸡尾酒排序

鸡尾酒排序Cocktail Sort (双向冒泡排序)