本帖最后由 付江涛 于 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();
- }
- }
复制代码
昨天还不太明白,今天思路就变得清晰了。自己按着老师的思路走了一下写出来了。
大家看看还有什么错误或者还能改进的地方
|