第十天

学到了冒泡排序,选择排序和插入排序和快速排序

明天打算学习查找

 

冒泡排序:

(1)逐一比较数组中相邻的两个元素,如果后面的数字小于前面的数字,就交换先后 元素。

(2)经过一一个轮次的比较,一定有一个最大的排在 最后的位置。

(3)每次比较剩下的元素,经过n-1 次比较,可以实现排序。

import java.util.Arrays;
public class SelectSortDemo {
    public static void main(String[] args) {
        int[] a= {2,3,4,5,9,8,7};
        for(int i=0;i<a.length-1;i++) {
            for(int j=0;j<a.length-i-1;j++) {
                if(a[j]>a[j+1]) {
                    int t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
}

 

选择排序:

(1)将数组中的每个元素与第一个元素比较,如果这个元素小于第一个元素,就将这 两个元素交换位置。

(2)每轮使用第(1)步的规则,可以选择出一个最小元素放到第一个位置。

(3)经过n-1轮比较,完成排序。

import java.util.Arrays;

public class InsertionSortDemo {
    public static void main(String[] args) {
        int[] ary= {2,3,4,5,9,7,8};
        int i,j,k;
        for(i=1;i<ary.length;i++) {
            k=ary[i];//去除待插入元素
            //找到插入位置
            for(j=i-1;j>=0&&k<ary[j];j--) {
                ary[j+1]=ary[j];//移动元素
            }
            //插入元素
            ary[j+1]=k;
        }
        System.out.println(Arrays.toString(ary));
    }
}

 

posted @ 2020-07-15 19:30  yasai  阅读(58)  评论(0编辑  收藏  举报