ftsg.net
当前位置:首页 >> jAvA的冒泡排序法,第一个For循环定义y和第二个For... >>

jAvA的冒泡排序法,第一个For循环定义y和第二个For...

建议先读一读冒泡法的理论 外循环每个元素、内循环是下一个元素开始找、。。。。。不是顺序的,就交换位置。继续找。。。。。 ~

你得理解选择排序法的含义,选择排序是和冒泡排序差不多的一种排序。和冒泡排序交换相连数据不一样的是,选择排序只有在确定了最小的数据之后,才会发生交换。怎么交换呢?我们可以以下面一组数据作为测试: 2, 1, 5, 4, 9 第一次排序:1, ...

因为你这个不叫冒泡(不管是冒大泡还是冒小泡)!!如果原本是递增排序你执行后只得到将第一个移到最后一位,其他的相对顺序不变! 你的冒泡排序不在一次循环中找到最大值或最小值,所以排序没有意义!也就是说第一次循环必须比较n-1次

这个应该到网上去搜索啊,不该在这问。冒泡排序的原理就是:(升序)依次比较相邻的2个数,把较大的值放在后面,使最后一个数变成数组中的最大值。循环这个过程,直到所有的数据都按这个规则排列好。此时,排序完毕。举例:3,2,5,7,1 (升序) 1. 3...

这个你分开看很容易的 首先你看内层循环 第一次内循环找出一个最大的放到了最后的位置吧 第二次内循环 把第二大的放到倒数第二的位置.. 其实内循环的作用就是把每次外循环下最大的那个放到能放的最靠后的位置.. 你自己找几个数观察一下就很明显...

程序中共有四个 for循环,第一个和最后一个分别是控制输入待排序数据存入数组中和数组中数据拍好序后按顺序输出的。中间的两个 for循环是冒泡排序算法的核心,它们是嵌套关系的,即先从外层循环进入,外层是控制进行几趟排序,每一趟确定第 i个...

你的程序里面不是有一句 if (a[j] > a[j + 1]),如果j=a.length的话,就会变成a[a.length]>a[a.length+1],这样的话数组就越界了,明白了吗?

int[] data={432,3,32,5445,12,122,34,11,45,678}; //1.冒泡排序(由大到小) for (int i=0;i

//以下就是C++冒泡排序 int* BubbleSort(int* ary, int length) { int i, j, tmp; for(i=0; ii; j--) { //找到数组中最小的数,并交换 if(tmp > ary[j]) { ary[i] = ary[j]; ary[j] = tmp; tmp = ary[i]; } } } return ary; }

public static void main(String args[]) { int[] m = { 2, 8, 43, 3, 33, 1, 35, 34, 6, 9 }; int[] n = sort(m); for (int i = 0; i < m.length; i ) { System.out.println(n[i] "\n"); } } /* 冒泡排序算法 */ public static int[] sort(int[...

网站首页 | 网站地图
All rights reserved Powered by www.ftsg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com