Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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
Java 我正在研究数组的基本排序算法,我不知道';即使解决方案可行,我也不能完全理解_Java_Arrays_Sorting - Fatal编程技术网

Java 我正在研究数组的基本排序算法,我不知道';即使解决方案可行,我也不能完全理解

Java 我正在研究数组的基本排序算法,我不知道';即使解决方案可行,我也不能完全理解,java,arrays,sorting,Java,Arrays,Sorting,在循环过程中,我对if语句的代码块部分有点不清楚。我不太清楚将第一个和下一个元素设置为不同变量并设置这些真变量和假变量背后的思维过程,欢迎反馈,谢谢 这是我的密码: public void SortArray() { Boolean isSorted = true; while(isSorted) { isSorted = false; for(int i=0;i<ArrayOfValues.length;i++) {

在循环过程中,我对if语句的代码块部分有点不清楚。我不太清楚将第一个和下一个元素设置为不同变量并设置这些真变量和假变量背后的思维过程,欢迎反馈,谢谢

这是我的密码:

public void SortArray()
{
    Boolean isSorted = true;
    while(isSorted)
    {
        isSorted = false;
        for(int i=0;i<ArrayOfValues.length;i++)
        {
            for(int j=i+1;j<ArrayOfValues.length;j++) 
            {
                if(ArrayOfValues[i]>ArrayOfValues[j])
                {
                    int temp = ArrayOfValues[j];
                    ArrayOfValues[j] = ArrayOfValues[i];
                    ArrayOfValues[i] = temp;
                    isSorted = true;
                }
            }


        }
    }
}
public void SortArray()
{
布尔值isSorted=true;
while(isSorted)
{
isSorted=假;
对于(inti=0;i,如果你指的是这个代码

int temp = ArrayOfValues[j];
                    ArrayOfValues[j] = ArrayOfValues[i];
                    ArrayOfValues[i] = temp;
那么它就只能用来交换 当当前元素的大小大于嵌套元素时,算法将以这种方式交换。交换工作原理的一个简单解释是尝试想象两个杯子,一个装满水,第二个装满咖啡,您希望交换它们。您将带一个空杯子(表示代码中的temp变量).你把空杯子装满水,现在以前有水的杯子是空的,你把它装满咖啡。现在曾经有水的杯子装满咖啡,而咖啡杯是空的,你把你先放在新杯子里的水装满咖啡杯。 如果你指的是这段代码,我希望这能解释清楚

int temp = ArrayOfValues[j];
                    ArrayOfValues[j] = ArrayOfValues[i];
                    ArrayOfValues[i] = temp;
那么它就只能用来交换 当当前元素的大小大于嵌套元素时,算法将以这种方式交换。交换工作原理的一个简单解释是尝试想象两个杯子,一个装满水,第二个装满咖啡,您希望交换它们。您将带一个空杯子(表示代码中的temp变量).你把空杯子装满水,现在以前有水的杯子是空的,你把它装满咖啡。现在曾经有水的杯子装满咖啡,而咖啡杯是空的,你把你先放在新杯子里的水装满咖啡杯。
我希望这能解释它

你从哪里得到这段代码,你从哪里学习算法?我在GeekForgeks网站上在线找到它,请分享链接。看起来你在尝试进行冒泡排序。代码不正确。@MasterJoe2不正确?更像是
isSorted
变量命名错误(而不是
isNotSorted
),我实际上是从youtube视频中得到这个算法的,不考虑GeekForgeks,我在头脑中混合了一堆东西你从哪里得到这个代码,你从哪里学习算法?我在GeekForgeks上在线找到的。请共享链接。看起来你在尝试进行气泡排序。代码不正确。@MasterJoe2不正确?更像
isSorted
变量命名错误(而不是
isNotSorted
),我实际上是从youtube视频中得到这个算法的,不考虑GeekForgeks,我在脑子里混了一堆东西