上一次写的排序是在网上看视频教程的时候写下的,这一周学习到排序,发现老师讲的和视频看到的有一定的出入,上一周写的排序方法不是很正宗,现在重新按照新学习的方法写一次。
感觉最简单的冒泡排序,这个和视频看到的没什么出入。
public class maopao { public static void main(String[] args) { int[] a={1,2,10,28,33,19,15,5,2}; maopp(a); for(int x:a) System.out.print(x+"\t"); } static void maopp(int[] a) { for(int i=0;ia[x+1]) { int tem=a[x]; a[x]=a[x+1]; a[x+1]=tem; } } } }}
然后是选择排序,上周写的选择排序每次比较都要把元素交换位置,而现在学到的只需要在外循环完成一次才交换一次位置。
public class Xuanze { public static void main(String[] args) { int[] a={10,22,33,9,17,16,22,19}; xuanz(a); for(int x:a) System.out.print(x+" "); } static void xuanz(int[] a) { for(int x=0;xa[i]) min=i;//将最小值的角标赋值给min; } int tem=a[min];//将最小值赋给tem a[min]=a[x];//将当前角标对应元素赋给min对应的元素。 a[x]=tem;//将最小值赋给当前角标对应的元素 } }}
接下来是插入排序,个人感觉比较麻烦一点,初学
public class Cha { public static void main(String[] args) { int[] a={10,28,18,17,13,9,14,2,5}; charu(a); for(int x:a) System.out.print(x+" "); } static void charu(int[] a) { for(int i=1;i=0;x--) { if(tem