冒泡,选择,插入排序再学习
public class test { public static void main(String[] args) { int[] nums {5,4,3,2,1}; test t new test(); t.charu(nums); for(int i0;inums.length;i){ System.out.println(nums[i]); } } //冒泡排序 每次找到一个最大的 //经历n-1论循环后即可排序完成 public void maopao(int[] nums){ int n nums.length for(int i0;in-1;i){ for(int j0;jn-i-1;j){ //////注意这两个循环都需要-1 if(nums[j]nums[j1]){ int temp nums[j]; nums[j] nums[j1]; nums[j1] temp; } } } } //选择排序 每次找到一个最小的插入到已排序区域的末尾 public void xuanze(int[] nums){ for(int i0;inums.length-1;i){ //这里是in-1, 因为最后要交换的元素是nums[n-1] int minIndex i; for(int ji1;jnums.length;j){ if(nums[minIndex]nums[j]){ minIndex j; } } int temp nums[i]; nums[i] nums[minIndex]; nums[minIndex] temp; } } //插入排序 public void charu(int[] nums){ for(int i1;inums.length;i){ int temp nums[i]; //记录未排序区的最开始的数 int j i-1; //已排序区的末尾 while(j0 nums[j]temp){ nums[j1] nums[j]; j--; } nums[j1] temp; //j1的原因是再while最后一次时多j--了一次 } } }