java一维数组冒泡排序
答:/** *des:冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对, *则交换它们,其结果是最大值“想水泡一样”移动到值列的最后一个位置上, *这也是它在最终完成排序的值列中合适的位置。 *然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程...
答:Java冒泡升序排列就是使用Java语言实现冒泡,将待排元素按照从小到大的顺序进行排列。冒泡排序的现象:较大的元素会“下沉”,较小的元素会“上浮”。冒泡排序的理解:第一次找到所有元素中最大的元素放在倒数第一位不再变动,第二次再找到剩余元素中最大的元素放到倒数第二位不再变动,依此类推,直到...
答:冒泡排序算法:int类型的数组:3 1 6 2 5 算法:取出最大的放在最后,下次就不用比较最后一个了。*/ public class BubbleSort{ public static void main(String[] args){ int[] a = {3,1,6,2,5};//开始排序 for(int i=a.length-1;i>0;i--){ for(int j=0;ja[j+1]){ //...
答:j<array.size()-1. 如果数组长度是5.那么i是从0-4.j是从0-3.是不是感觉最后一位和倒数第一位没有进行比较呢?看楼下那位写的吧。这东西你得多理解下,这个东西你就想他是个蠕动的,如果是98765321这种,就是把9一步一步的往后挪(i=1时候内层的循环),结果是876543219、然后继续操作比较走...
答:首先可以肯定的是你这个代码肯定是完全没问题的,这就是冒泡排序的写法:至于这个问题,我认为最好的解决方法就是重新创一个类,然后把代码复制过去试试。
答:就以2 5 7 9 11 22来说 这个使用冒泡排序,冒泡排序内层循环要比外层循环少一次,i是外层循环次数 每完成一次循环, i自增1 array.length是数组的长度,数组中有6个数字 那么长度array.length就是6 首先进行第一次外循环,i自增1,此时的内循环(一次换位为一次内循环)如下:2比5小,2和...
答:冒泡排序算法:int类型的数组:3 1 6 2 5 第一次循环:1 3 6 2 5 1 3 6 2 5 1 3 2 6 5 1 3 2 5 6 第二次循环:1 3 2 5 1 2 3 5 1 2 3 5 第三次循环:1 2 3 1 2 3 。。。算法:取出最大的放在最后,下次就不用比较最后一个了。*/public class BubbleSort{ ...
答:内层循环一次得到这个数组中最大的数并把它放在数组最后一个,同时把内层需要再循环的数组长度减1,即去掉数组中最后一个数(也就是最大的一个)。外层循环控制内层循环执行几次。
答:一般来说选择比冒泡效率高;冒泡排序在内循环交换,选择排序在外循环交换,效率差也就在这个交换次数上,毕竟O(n)<O(n^2)。如果数组完全有序,冒泡内循环的交换一次都不会执行,而选择排序每次还要和本身交换一次,此时冒泡效率高。但这种情况极少,所以从算法的角度看,选择优于冒泡。
答:大家一定都喝过汽水,汽水中常常有许多小小的气泡,哗啦哗啦飘到上面来。这是因为组成小气泡的二氧化碳比水要轻,所以小气泡可以一点一点向上浮动。而我们的冒泡排序之所以叫做冒泡排序,正是因为这种排序算法的每一个元素都可以像小气泡一样,根据自身大小,一点一点向着数组的一侧移动。冒泡排序算法的原理...
网友评论:
酆纪19597886473:
java中的冒泡排序法的具体用法 -
52661劳波
: public class SortDemo { public static void main(String[] args) {//初始化变量int[] arrayOfInts = { 1,5,9,8,11,4,12,13};//循环整个数组for (int i = arrayOfInts.length; --i >= 0;) {//循环每个数字for (int j = 0; j < i; j++) {if (arrayOfInts[j] > arrayOfInts[j +...
酆纪19597886473:
编程,用冒泡排序法对一维数组a中的元素按值从小到大进行排序.其中:Int a[]={20,3, - 2,60,15} -
52661劳波
: import java.io.*; class BubbleSort {public static void main (String[] args) {Integer a[]={20,3,-2,60,15};Integer temp;for(int i=0;i<a.length;i++){for(int j=0;j<a.length;j++){if(a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}//OutPutfor(int k=0;k<a....
酆纪19597886473:
用java编写定义一个一维数组,存放10个数字,求数组中最大值和最小值(注意最好用冒泡排序) -
52661劳波
: 你当前的数组长度为5 冒泡排序的做法是: 1、取下标为0的元素分别去和下标为1、2、3、4的元素进行比较,值最大的元素或者是值最小的元素与下标为0的元素互换位置; 2、取下标为1的元素分别去和下标为0、2、3、4的元素进行比较,值...
酆纪19597886473:
java中数组中冒泡排序法,谁能解释的简单点,不理解呀 谢谢 -
52661劳波
: 冒泡排序算法的运作如下:比较相邻的元素.如果第一个比第二个大,就交换他们两个.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数.针对所有的元素重复以上的步骤,除了最后...
酆纪19597886473:
用冒泡法将一维数组按由小到大的顺序重新排序 -
52661劳波
: 数组在内存中是顺序存储的,a[10]虽然越界,但是a[10]是有值的,你的程序升序排序能正确执行,你把if里面的>改成<,降序排序,程序就会出错,这是因为你的a[10]刚好是一个大数,a[9]>a[10]不成立,a[10]就没意义了. 要让你的程序无论升序还是降序都正确执行,改成 for(i=0;i<9;i++) for(j=i;j<10-i-1;j++) 就行了
酆纪19597886473:
输入一组数组 如何用Java按冒泡排序和选择排序输出数组 求代码 -
52661劳波
: /** * 2015年5月28日下午9:52:57 ** @author season TODO 测试已通过,获取财富值 * */ public class ArrayOperation { /** * 对数组 arr 进行冒泡排序升序排序 ** @param arr * 目标数组 */ public static void bubbleToUp(int[] arr) { if (null == arr)// 数组...
酆纪19597886473:
用java!!输入五个数,保存到一个数组中,然后将这五个数字进行从小到大的排列 采用冒泡排序法 -
52661劳波
: Java输入五个数,保存到一个数组中,然后将这五个数字进行从小到大的排列 采用冒泡排序法,如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ...
酆纪19597886473:
java 冒泡排序 -
52661劳波
: 冒泡排序法: int a; int[] a = { 5, 4, 9, 2, 7 }; System.out.println("排序前的数组是:") for(int i=0;i<a.length;i++){ System.out.println(a[i]+"\t"); } for(int i=0;i<a.length;i++){ for(int j=0;j<a.length-1;j++){ if(a[j]<a[j+1]){ a=a[j]; a[j]=a[j+1]; a[j+1]=a; } } } ...
酆纪19597886473:
java语言中怎样用冒泡法对数组元素的排序 -
52661劳波
: public class Practice { public void sortArry(){ int arr[]={2,1,5,8,21,12}; System.out.println("冒泡排序前的结果是:"); for(int i=0;i<arr.length;i++){ System.out.print(" "+arr[i]); } for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]>...
酆纪19597886473:
给任何一个数组,用JAVA冒泡排序出来 -
52661劳波
: 这才是冒泡排序~~~!public class Sort_Bubble { public static void main(String[] args) { int[] arr = {23,12,3,45,25,46,75,15,12,52}; for(int i=arr.length-1;i>=0;i--){ for(int j=0;j if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } }//查看结果~~ for(int i=0;i System.out.print(arr[i]+" "); } } }