第一选择排序。
package a; /** * /** * 1.选择排序 * 1. 第一个跟后面的所有数相比,如果小于(或小于)第一个数的时候,暂存较小数的下标,第一趟结束后,将第一个数,与暂存的那个最小数进行交换,第一个数就是最小(或最大的数) 2. 下标移到第二位,第二个数跟后面的所有数相比,一趟下来,确定第二小(或第二大)的数 重复以上步骤 直到指针移到倒数第二位,确定倒数第二小(或倒数第二大)的数,那么最后一位也就确定了,排序完成 * */ public class e1 { public static void main (String[] args) { int[] arr= {55,35,65,38,145,75,52,61,61,6,1,2,8,78,29,82,59,45,532}; for (int i = 0; i < arr.length -1; i++) { int minpos=i; for (int j = i+1; j < arr.length; j++) { minpos =arr[j] <arr[minpos] ?j:minpos; } System.out.println("minpose:"+minpos); swap(arr, i, minpos); System.out.println("经过第"+i+"次循环之后,数据内容"); print(arr); } } static void swap(int[] arr,int i,int j ) { int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } static void print (int [] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } }
第二中冒泡排序。
package com.shuzu; import java.util.Arrays; public class Sor2 { /** * 1. 相邻两个数两两相比,n[i]跟n[j+1]比,如果n[i]>n[j+1],则将连个数进行交换, 2. j++, 重复以上步骤,第一趟结束后,最大数就会被确定在最后一位,这就是冒泡排序又称大(小)数沉底, 3. i++,重复以上步骤,直到i=n-1结束,排序完成。 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] n = new int[]{1,6,3,8,33,27,66,9,7,88}; int temp; for (int i = 0; i < n.length-1; i++) { for (int j = 0; j <n.length-1; j++) { if(n[j]>n[j+1]){ temp = n[j]; n[j] = n[j+1]; n[j+1] = temp; } } } System.out.println(Arrays.toString(n)); } }
package a; import java.util.Scanner; /** * 11/3 * @author MZFAITHDREAM *键盘输入5个整数 要求使用冒泡排序将这5个整数从大到小进行排 *序并输出排序后的结果 */ public class EngA { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数"); int a=sc.nextInt(); System.out.println("请输入第二个数"); int b=sc.nextInt(); System.out.println("请输入第三个数"); int c=sc.nextInt(); System.out.println("请输入第四个数"); int d=sc.nextInt(); System.out.println("请输入第五个数"); int e=sc.nextInt(); int []array={a,b,c,d,e}; for(int i=0;i<(array.length-1);i++) { for(int j=i+1;j<array.length;j++) { if(array[i]>array[j]) { int z=array[i]; array[i]=array[j]; array[j]=z; }else { } } } System.out.println("从小到大:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4]); } static void print (int [] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } }