A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 渠嘉树 中级黑马   /  2014-7-6 14:16  /  1049 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 渠嘉树 于 2014-7-6 14:18 编辑

我在主函数里面调用selectSort(arr);
public static void swap(int[] arr, int a, int b)
        {
                int temp = arr[a];
                arr[a] = arr;
                arr = temp;
         }
/*
        选择排序
        */
        public static void selectSort(int[] arr)
        {
                for(int x = 0; x < arr.length - 1; x++)
                {
                        for(int y = x + 1; y < arr.length; y++)
                        {
                                if(arr[x] > arr[y])
                                {
                                        swap(arr, x, y);
                                /*
                                int temp = arr[y];
                                arr[y] = arr[y + 1];
                                arr[y + 1] = temp;
                                */
                                }
                        }
                }

功能是实现了,发现忘了添加打印功能了,然后再往里面写,总是不对。大家帮我看看吧{:3_54:}

6 个回复

倒序浏览
swap写错了
public static void swap(int[] arr, int a, int b)
        {
                int temp = arr[a];
                arr[a] = arr[b];
                arr[b] = temp;
         }
回复 使用道具 举报
别沉了.........
回复 使用道具 举报
楼主可以单独写个方法打印一下,
代码,为了让它好看一下,多加了几句

  1. <P>public static void printmethod(int[] arr){
  2.   System.out.print("{");
  3.   for(int x=0;x<arr.length;x++){
  4.    if(x!=arr.length-1)
  5.     System.out.print(arr[x]+",");
  6.    else
  7.     System.out.print(arr[x]+"}");
  8.   }
  9. }</P>
复制代码
可以在selectSort这里调用也可以在主函数调用

回复 使用道具 举报
可以再写个循环,直接打印出来arr数组的数据不好了吗
回复 使用道具 举报
public static void printArray(int[] arr)
        {
                System.out.print("[");
                for(int x =0;x<arr.length;x++)
                {
                        if(x!=arr.length-1)
                                System.out.print(arr[x]+", ");
                        else
                                System.out.println(arr[x]+"]");
                }
        }

加一个打印语句就可以了  这样打印出来也挺漂亮的!!!
回复 使用道具 举报
wojiaojay 发表于 2014-7-6 21:40
public static void printArray(int[] arr)
        {
                System.out.print("[");

恩恩 谢谢咯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马