第十天
学到了冒泡排序,选择排序和插入排序和快速排序
明天打算学习查找
冒泡排序:
(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)); } }