Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows Javascript应用程序中未获取正确的排序数组_Javascript_Sorting_Windows Store Apps - Fatal编程技术网

在Windows Javascript应用程序中未获取正确的排序数组

在Windows Javascript应用程序中未获取正确的排序数组,javascript,sorting,windows-store-apps,Javascript,Sorting,Windows Store Apps,在Windows应用商店应用程序(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 (va

在Windows应用商店应用程序(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();
}
函数BubbleSort()
{
var numlist=numlist.value;
var掉期,标志=1,i=0;
var ar=numlist.split(“,”);
Val.value=ar[i];
while(标志!=0)
{
对于(var j=0;jar[j+1])
{
掉期=应收账款[j+1];
ar[j+1]=ar[j];
ar[j]=掉期;
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制作应用程序。你能告诉我怎么了吗?

这样试试(根据需要调整):

函数bubbleSort(v,desc)
{
var ar=v.split(',),i=v.length;
而((i-=1,i))
{
对于(var j=0;j[10,9,7,6,5,4,3,2,1]

默认排序算法有什么问题?我正在尝试制作一个教育应用程序,因此这也是必需的。是否有默认的冒泡排序方法?o.OYea…我会阅读,但你能看看我的代码并告诉我我这里做错了什么吗?谢谢你的回答,但你能解释一下你所说的数字比较是什么意思吗您在If语句中所做的操作是什么?我使用了断点,我的代码甚至没有进入If代码块?ar[j]和ar[j+1]之前的
+
符号将值转换为
数字
,因此现在它比较两个数字。字符串比较将
'10'
置于
'2'
之前,并返回
[1,10,2,3,4,5,6,7,9]
Aah感谢您的快速响应。它现在正在工作。标记为答案。也感谢您的解释^ ^ Hi@PranavJituri,很高兴我能帮助您。调整答案以启用降序排序。
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]