Java 我正在研究数组的基本排序算法,我不知道';即使解决方案可行,我也不能完全理解
在循环过程中,我对if语句的代码块部分有点不清楚。我不太清楚将第一个和下一个元素设置为不同变量并设置这些真变量和假变量背后的思维过程,欢迎反馈,谢谢 这是我的密码: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++) {
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,我在脑子里混了一堆东西