冒泡排序和选择排序

冒泡排序

选择排序

两层循环,外层冒泡轮数,里层依次比较.

把数组arr[]={3,8,2,6,7}元素按从大到小排序

package program;

import java.util.Arrays;

public class maoPao02 {
	public static void main(String[] args) {
		int[] arr = { 3, 8, 2, 6, 7 };
		int[] s = sort(arr);
		System.out.println(Arrays.toString(s));
	}
	//一:冒泡排序
	public static int[] sort(int[] arr) {
		int temp = 0;
		// 外层循环判断循环要走多少次
		for (int i = 0; i < arr.length - 1; i++) {
			// 内存循环比较两个数大小,如果第一个数比第二个数大,则交换位置.
			for (int j = 0; j < arr.length-1-i; j++) {
				if (arr[j+1] > arr[j]) {
					temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
		return arr;
	}
    
    //二:选择排序
    public static int[] sort(int[] arr) {
        // 外层循环判断循环要走多少次
        for (int i = 0; i < arr.length - 1; i++) {
            // 内存循环比较两个数大小,如果第一个数比第二个数大,则交换位置.
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] > arr[i]) {
                    arr[i]=arr[i]^arr[j];
                    arr[j]=arr[i]^arr[j];
                    arr[i]=arr[i]^arr[j]; 
                }
            }
        }
        return arr;
    }
}
posted @ 2021-11-25 21:26  ice204  阅读(83)  评论(0)    收藏  举报