没有得到正确排序数组在Windows Javascript应用程序

Not getting Proper Sorted Array In Windows Javascript App

本文关键字:数组 Windows Javascript 应用程序 排序      更新时间:2023-09-26

在Windows Store应用程序(Javascript)中实现冒泡排序算法时,我无法获得适当的排序输出。下面是Javascript的源代码:-

function BubbleSort()
{
    var numlist = NumList.value;
    var swap,flag=1,i=0;
    var ar = numlist.split(",");
    Val.value = ar[i];
    while(flag!=0)
    {
        for (var j = 0; j < ar.length; j++)
        {
           flag = 0;
            if(ar[j]>ar[j+1])
            {
                swap = ar[j + 1];
                ar[j + 1] = ar[j];
                ar[j] = swap;
                flag++;
            }
        }
    }
    IS.value = ar.toString();
}

输入:- "10,4,3,2,1,5,7,6,9"输出:- "10,3,2,1,4,5,6,7,9"

我正在使用Visual Studio 2013 Update 3制作应用程序。你能告诉我有什么问题吗?

试着这样做(根据你的需要调整):

function bubbleSort(v, desc)
{
    var ar = v.split(','), i = v.length;
    while((i-=1,i))
    {
        for (var j = 0; j < ar.length; j++)
        {
            if(desc ? +ar[j]<+ar[j+1] : +ar[j]>+ar[j+1]) //<= numeric comparison
            {
                var swap = ar[j];
                ar[j] = ar[j+1];
                ar[j+1] = swap;
            }
        }
    }
    return ar.join();
}
// usage asc en desc:
bubbleSort('10,4,3,2,1,5,7,6,9');       //=> [1,2,3,4,5,6,7,9,10]
bubbleSort('10,4,3,2,1,5,7,6,9', true); //=> [10,9,7,6,5,4,3,2,1]