问题描述
publicvoiddirectSort(doublen[]){inti,j;for(i=2;i<n.length;i++){代码1;for(j=i-1;代码2;j--)代码3;代码4=n[0];}}书上给到这里,往下不知道怎么弄了
解决方案
解决方案二:
没看懂.....
解决方案三:
先弄清楚插入排序的原理,这样代码才好写
解决方案四:
你是想了解算法喽。其实我个人觉得没必要把排序方式记个遍,记一个好操作的就行了。我比较喜欢用冒泡排序。可以给你分享一下哦。原理:比如一个数组中有四个元素:33,22,55,44;将数组中最左边的元素和最左边的第二个元素比较,若小于则位置不变,若大于则二者对调位置,一次往后。就相当于水里面的泡泡一样,小泡泡在下面,大泡泡就往上浮。publicclassBubbleSort{publicstaticvoidmain(String[]args){intscore[]={67,69,75,87,89,90,99,100};for(inti=0;i<score.length-1;i++){//最多做n-1趟排序for(intj=0;j<score.length-i-1;j++){//对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)if(score[j]<score[j+1]){//把小的值交换到后面inttemp=score[j];score[j]=score[j+1];score[j+1]=temp;}}System.out.print("第"+(i+1)+"次排序结果:");for(inta=0;a<score.length;a++){System.out.print(score[a]+"t");}System.out.println("");}System.out.print("最终排序结果:");for(inta=0;a<score.length;a++){System.out.print(score[a]+"t");}}}
可以参考一下。真的没必要记那么多,实际的开发中也不是经常用,除非开发游戏容易用到逻辑思维和算法。
解决方案五:
所谓插入排序法,就是检查第i个数字,如果在它的左边的数字比它大,进行交换,这个动作一直继续下去,直到这个数字的左边数字比它还要小,就可以停止了。插入排序法主要的回圈有两个变数:i和j,每一次执行这个回圈,就会将第i个数字放到左边恰当的位置去。