- //使用冒泡排序方式对指定程序进行排序
-
- class Demo1
- {
- public static void main(String[] args)
- {
- int arr[]={22,63,89,13,6};
- //打印原数组
- printArray(arr);
- //调用排序方法
- bubbleSort(arr);
- //打印排序后的数组
- printArray(arr);
- }
-
- /*
- 冒泡排序
- 1、先从头角标相邻两个元素之间进行比较,将较大值存放在后一个元素中,然后再与后一个元素的进行比较,直至最大值存放到最后一个元素中。
- 2、再重复1操作,每次计较次数减一,一圈比完后存放的较大元素不再参与比较。
- */
-
- public static void bubbleSort(int[] arr)
- {
- for (int x=0;x<arr.length-1;x++)
- {
- for (int y=0;y<arr.length-1-x;y++)//-x:让没每一次比较的元素减少。-1:避免角标越界。
- {
- if(arr[y]>arr[y+1])
- swap(arr,y,y+1);
- }
- }
- }
- //遍历数组
- 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.print(arr[x]+"]");
- }
- //换行
- System.out.println();
- }
-
- //互换方法
- public static void swap(int[] arr,int a,int b)
- {
- arr[a]=arr[a]^arr[b];
- arr[b]=arr[a]^arr[b];
- arr[a]=arr[a]^arr[b];
- }
- }
复制代码 |
|