| 本帖最后由 付江涛 于 2014-1-26 15:41 编辑 
 复制代码/*
练习:
{5,95,45,1,2,8,36,44,15,98,774,11,32}
使用选择排序和冒泡排序方法对数组进行排序
*/
class  array
{
        public static void main(String[] args) 
        {
                int[] arr=new int[]{5,95,45,1,2,8,36,44,15,98,774,11,32};
                print(arr); //打印数组
//                Select(arr); //调用函数进行选择排序
                bubble(arr);  //进行冒泡排序
                print(arr);//打印选择排序后的结果
                
        }
        //选择排序
        public static void Select(int[] arr)
        {
                for (int x=0;x<arr.length-1 ;x++ )   // 是不是也可以不用-1?
                {
                        for (int y=x+1;y<arr.length ;y++ )
                        {
                                if (arr[x]>arr[y])
                                {
                                        int i=arr[x];
                                        arr[x]=arr[y];
                                        arr[y]=i;
                                }
                        }
                }
        }
        //冒泡排序
        public static void bubble(int[] arr)
        {
                for (int x=0;x<arr.length-1 ;x++ )
                {
                        for (int y=0;y<arr.length-x-1 ;y++ )  //-x 让每一次比较的元素减少,  -1 避免角标越界
                        {
                                if (arr[y]>arr[y+1])
                                {
                                        int i=arr[y];
                                        arr[y]=arr[y+1];
                                        arr[y+1]=i;
                                }
                        }
                }
        }
        
        //打印数组
        public static void print(int[] arr)
        {
                System.out.print("[");
                for (int x=0;x<arr.length ;x++ )
                {
                        
                        if (arr[x]!=arr[arr.length-1])
                        {
                                System.out.print(arr[x]+",");
                        }
                        else
                                System.out.println(arr[x]+"]");
                }
                                System.out.println();
        }
}
 
 昨天还不太明白,今天思路就变得清晰了。自己按着老师的思路走了一下写出来了。
 
 
 
 大家看看还有什么错误或者还能改进的地方
 
 
 |