十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数。
创新互联专注于企业成都营销网站建设、网站重做改版、思南网站定制设计、自适应品牌网站建设、HTML5建站、商城网站定制开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为思南等各大城市提供网站开发制作服务。
同时常用的比较排序算法主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。
冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较。
选择排序算法的思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
第一幅图是交换两个变量的值,我左手拿着苹果,右手拿着梨,我想换一下位置,需要先把苹果放在桌子上,然后左手拿到梨,右手再去拿苹果。temp相当于这个桌子 第二幅图直接赋值了。还是刚才的情景。我左手直接去拿梨了。
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
很好懂吧? 从第一个开始 把第二个到最后一个跟他比 如果小就交换。一次循环下来第一个一定是数组中最小的。然后从第二个开始,比较第三个到最后一个。以此类推。
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
给你介绍4种排序方法及源码,供参考 冒泡排序 主要思路: 从前往后依次交换两个相邻的元素,大的交换到后面,这样每次大的数据就到后面,每一次遍历,最大的数据到达最后面,时间复杂度是O(n^2)。
内层循环一次得到这个数组中最大的数并把它放在数组最后一个,同时把内层需要再循环的数组长度减1,即去掉数组中最后一个数(也就是最大的一个)。外层循环控制内层循环执行几次。
能看到我们会用很少的语句解决了非常大的问题,所以递归策略的最主要体现就是小的代码量解决了非常复杂的问题。
快速排序。把一个数组以数组中的某个值为标记。比这个值小的放到数组的左边,比这个值得大的放到数组的右边。然后再递归 对左边和右边的数组进行同样的操作。直到排序完成。通常以数组的第一个值为标记。
4 归并类排序 将两个或两个以上的有序序列合并成一个新的序列 5 基数排序 主要基于多个关键字排序的。
排序算法有很多,所以在特定情景中使用哪一种算法很重要。
由于你刚学Java,所以一些编程规范是需要注意的,而我提供给你的答案看起来虽然有点复杂,不过采用了面向对象的编程思想,尽量做到低耦合高内聚,同时冒泡算法也做了升级,为冒泡的高级快速排序算法,不过为了对比,也保存了传统的冒泡算法。