显示的排序结果就是不对,不知道为什么,大家来讨论一下!
public class SortIntArray
{
public static void main(String[] args)
{
int[] iArr={2,6,1,3,8,10,9};
iArr = selectSort(iArr);
for(int i=0;i<iArr.length;i++)
{
System.out.print(" " + iArr[i]);
}
}
public static int[] selectSort(int[] iArr)
{
int k = 0;
for(int i=0;i<iArr.length-1;i++)
{
k = i;
for(int j=i+1;j<iArr.length;j++)
{
if(iArr[k] < iArr[j])
{
k = j;
}
if(k != i)
{
int temp = iArr[i];
iArr[i] = iArr[k];
iArr[k] = temp; for(int m=0;m<iArr.length;m++)
{
System.out.print(" " + iArr[m]);
} System.out.println("#############");
}
}
}
return iArr;
}
}
public class SortIntArray
{
public static void main(String[] args)
{
int[] iArr={2,6,1,3,8,10,9};
iArr = selectSort(iArr);
for(int i=0;i<iArr.length;i++)
{
System.out.print(" " + iArr[i]);
}
}
public static int[] selectSort(int[] iArr)
{
int k = 0;
for(int i=0;i<iArr.length-1;i++)
{
k = i;
for(int j=i+1;j<iArr.length;j++)
{
if(iArr[k] < iArr[j])
{
k = j;
}
if(k != i)
{
int temp = iArr[i];
iArr[i] = iArr[k];
iArr[k] = temp; for(int m=0;m<iArr.length;m++)
{
System.out.print(" " + iArr[m]);
} System.out.println("#############");
}
}
}
return iArr;
}
}
解决方案 »
- Spring MVC 如何接受后台的值
- 数组调用的属性是哪里定义的,(代码)
- JSP动态网页生成静态网页,在线等,急!!!
- java中父类与子类的问题
- 一个regular expression问题
- [请教]如何让我做的界面总是显示在前
- ====》菜鸟问问题罗:non-static method this cannot be referenced from a static context
- 那边有Java socket和C socket通讯的资料?我在传输数据的时候,数据不对。
- 如果接口(interface)中的方法有自变量,怎样初始化这个自变量?
- 老鸟捕获超级异常2!
- 关于SWT中Text组件的append()方法
- 帮初学者看个小程序,谢谢热心人
if (iArr[k] > iArr[j]) {
k = j;
}
int temp = iArr[i];
iArr[i] = iArr[k];
iArr[k] = temp;
public class TestExtends {
public TestExtends() {
int[] iArr = { 2, 6, 1, 3, 8, 10, 9 };
iArr = selectSort(iArr);
for (int i = 0; i < iArr.length; i++) {
System.out.print(" " + iArr[i]);
}
} public int[] selectSort(int[] iArr) {
int k = 0;
for (int i = 0; i < iArr.length - 1; i++) {
k = i;
for (int j = i + 1; j < iArr.length; j++) {
if (iArr[k] > iArr[j]) {
k = j;
}
}
int temp = iArr[i];
iArr[i] = iArr[k];
iArr[k] = temp; for (int m = 0; m < iArr.length; m++) {
System.out.print(" " + iArr[m]);
} System.out.println("#############"); }
return iArr;
} public static void main(String[] args) {
new TestExtends();
}}
这是我照你的稍微整理一下,关键的地方就是for (int j = i + 1; j < iArr.length; j++)只作用在if (iArr[k] > iArr[j]) {
k = j;
}
上
for(int j=i+1;j<iArr.length;j++)
{
if(iArr[k] < iArr[j])
{
k = j;
}
}
方法就可以排序
上面我打错了