黑马程序员技术交流社区
标题:
选择排序程序中的小问题 急求解
[打印本页]
作者:
王舒玮
时间:
2012-12-14 20:03
标题:
选择排序程序中的小问题 急求解
package cn.itcast;
/*
* 数组的选择排序
* 原理:如果拿0角标上的元素依次和后面的元素进行比较,
* 第一次内循环结束后,最小值出现在了0角标位置。
*
*/
public class ArrayDemo4 {
// 遍历数组进行排序
public static void selectSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {//i的0角标和j的1角标比较
if (arr[i] > arr[j]) {
int temp = arr[i];// 先把大的数记录下来进行后期比较
arr[i] = arr[j];// 把小的值j给i,然后再用小的值和其他值再比较
arr[j] = temp;// 换位置
}
}
}
}
//主函数
public static void main(String[] args) {
// 定义一个数组
int[] arr = new int[] { 2, 4, 6, 8, 10 };
// 排序前
//System.out.println("排序前:" + arr);
printArray(arr);
//排序
selectSort(arr);
//排序后
//System.out.println("排序后:"+ arr);
printArray(arr);
}
//创建遍历数组的功能,方便主函数调用
public static void printArray(int[] arr){
System.out.print("[");
for(int k=0;k<arr.length;k++){
if(k!=arr.length-1){
System.out.print(arr+",");
}else{
System.out.println(arr+"]");
}
}
}
}
结果是:[[I@150bd4d,[I@150bd4d,[I@150bd4d,[I@150bd4d,[I@150bd4d]
[[I@150bd4d,[I@150bd4d,[I@150bd4d,[I@150bd4d,[I@150bd4d]
我知道造成这种结果的原因 但是实在是找不到我代码中哪个步骤有错误造成了这个结果 求解
作者:
张海涛
时间:
2012-12-14 20:24
/*
* 数组的选择排序
* 原理:如果拿0角标上的元素依次和后面的元素进行比较,
* 第一次内循环结束后,最小值出现在了0角标位置。
*
*/
class ArrayDemo4 {
// 遍历数组进行排序
public static void selectSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {//i的0角标和j的1角标比较
if (arr
> arr[j]) {
int temp = arr
;// 先把大的数记录下来进行后期比较
arr
= arr[j];// 把小的值j给i,然后再用小的值和其他值再比较
arr[j] = temp;// 换位置
}
}
}
}
//主函数
public static void main(String[] args) {
// 定义一个数组
int[] arr = new int[] { 2, 4, 6, 8, 10 };
// 排序前
//System.out.println("排序前:" + arr);
printArray(arr);
//排序
selectSort(arr);
//排序后
//System.out.println("排序后:"+ arr);
printArray(arr);
}
//创建遍历数组的功能,方便主函数调用
public static void printArray(int[] arr){
System.out.print("[");
for(int k=0;k<arr.length;k++){
if(k!=arr.length-1){
System.out.print(arr[k]+",");
}else{
System.out.println(arr[k]+"]");
}
}
}
}
注意红色地方!!!
作者:
王舒玮
时间:
2012-12-14 21:09
张海涛 发表于 2012-12-14 20:24
/*
* 数组的选择排序
* 原理:如果拿0角标上的元素依次和后面的元素进行比较,
太谢谢你了 终于找到问题根源了
作者:
luobo
时间:
2012-12-17 16:41
路过学习中。。。。{:soso_e121:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2