导航:首页 > 编程语言 > 冒泡排序java

冒泡排序java

发布时间:2022-01-13 04:30:49

java中的冒泡排序

for(int j=0;i<monkeys.length-1-i;j++)
{
if(monkeys[j].height>monkeys[j+1].height) //该行会报数组越界错误

第一行。。for(int j=0;i<monkeys.length-1-i;j++)中的i<monkeys.length-1-i明显逻辑不对。。该是j<monkeys.length-1-i吧

② java冒泡排序

程序如下:
public class TTT
{
public static void main(String[] args)
{
int[] num = {20,31,65,14,98,49,27,90,16,85};

boolean flag = true;
int count = 1;
while(flag)
{
flag = false;

for(int i=0;i<num.length-1;i++)
{
if(num[i] > num[i+1])
{
int temp = num[i];
num[i] = num[i+1];
num[i+1] = temp;
flag = true;
}
}
System.out.print("第" + count++ +"轮排序后的序列为:");
for(int i=0;i<num.length;i++)
{
System.out.print(num[i] + "\t");
}
System.out.println();
}
}
}

有问题欢迎提问,满意请采纳,谢谢!

③ java实现冒泡排序

你这样写,相当于只冒了一次泡,把最大的一个数,也就是最后一个数,找出来了,冒泡排序是要for循环里在嵌套一个for循环才能做出来的,外面的for循环控制冒泡多少次,里面的循环找出每次的最大值。你这样写少了外面的那个for循环,相当于只找了一次最大值。

④ Java冒泡排序

这段代码的核心是理解JAVA需要集合操作的写法。
1、第一句,是获取对象内部成员的句柄,句柄类似c++语言中的指针,只是指向对象,而不是对象本身
2、第二三句是为了修改集合对象内部的内容,此时你无法直接去修改它们(因为假如你只是修改了句柄指向的内容,对于集合来说它根本没有发生任何变化)
3、集合提供的修改方法,比如set(i,obj),其内部的实现方式是数组,但封装后没有提供类似数组一样的操作,如list[i]=obj,这种写法。所以你没法直接这么写(但是C#语言就提供了这种写法,所以你如果用C#就可以三句都用等于号赋值)

⑤ JAVA冒泡排序

public class Test{
public static void main(String[] args){
int[][] a=new int[2][2];
int i, j, k;
int temp;
a[0][0]=3;
a[0][1]=5;
a[1][0]=9;
a[1][1]=7;

for(i=0; i<a.length; i++){ //控制二维数组的行
for(j=0; j<a[0].length-1; j++){ //控制冒泡排序的比较趟数
for(k=0; k<a[0].length-1; k++){ //控制每一趟的比较次数
if(a[i][k]>a[i][k+1]){ //如何相邻两个元素为逆序则交换
temp=a[i][k];
a[i][k]=a[i][k+1];
a[i][k+1]=temp;
}
}
}
}

//输出方式1
for(int[] arr : a){ //arr表示一个一维数组
for(int elem : arr){ //elem表示一维数组arr中的一个元素
System.out.print(elem + "\t");
}
System.out.println();
}

//输出方式2
for(i=0; i<a.length; i++){
for(int elem : a[i]){
System.out.print(elem + "\t");
}
System.out.println();
}

//输出方式3
for(i=0; i<a.length; i++){
for(j=0; j<a[0].length; j++){
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}

⑥ java冒泡排序法代码

冒泡排序是比较经典的排序算法。代码如下:

for(int i=1;i<arr.length;i++){

for(int j=1;j<arr.length-i;j++){

//交换位置

}

拓展资料:

原理:比较两个相邻的元素,将值大的元素交换至右端。

思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

依次类推,每一趟比较次数-1;

……

举例说明:要排序数组:int[]arr={6,3,8,2,9,1};

for(int i=1;i<arr.length;i++){

for(int j=1;j<arr.length-i;j++){

//交换位置

}

⑦ 用java写个冒泡排序

冒泡排序算法:

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

。。。

算法:取出最大的放在最后,下次就不用比较最后一个了。*/
publicclassBubbleSort{
publicstaticvoidmain(String[]args){
int[]a={3,1,6,2,5};
//开始排序
for(inti=a.length-1;i>0;i--){
for(intj=0;j<i;j++){
if(a[j]>a[j+1]){
//交换位置
inttemp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//遍历
for(inti=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}

⑧ java冒泡排序详细讲解

就是 一组数字组成的数组,两两比较,大的数往后推,小的数向前

从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。

⑨ 关于JAVA冒泡排序

判断每一个元素和后一个位置的元素大小,如果大于后面的元素,那么交换他们的位置。
而交换数组两个元素的时候,要借助变量。因为一旦把其中一个的值覆盖掉的话,就没法获取他的值了。。所以借助temp先把一个值存起来,再覆盖那个位置,再把存起来的值赋给另一个。。

⑩ java冒泡排序代码

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

冒泡排序算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

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]+" ");
}
System.out.println("");
}
System.out.print("最终排序结果:");
for(inta=0;a<score.length;a++){
System.out.print(score[a]+" ");
}
}
}
阅读全文

与冒泡排序java相关的资料

热点内容
缓解压力和情绪视频 浏览:885
密钥算法公钥概念 浏览:480
华为云服务器网速变快 浏览:907
工商银行卡app如何绑定银行卡 浏览:464
华为怎么找出来隐藏文件夹 浏览:525
Unix的ssh命令 浏览:542
亲宝宝app如何设置预产期 浏览:243
起点app怎么关闭开屏广告 浏览:739
年轻人趣味好玩解压项目 浏览:547
ca证书安卓11如何下载 浏览:279
wordpdf虚拟打印机 浏览:563
甘肃漫展app怎么发展 浏览:196
python购物比价系统设计 浏览:981
压缩比9397 浏览:926
手机里面的压缩包可以删除 浏览:556
怎么在电信app上二次实名 浏览:778
android获取以太网ip 浏览:83
免费公网版服务器地址 浏览:449
猎人加密狗连接服务器出错怎么办 浏览:812
免费云服务器360 浏览:243