当前位置:首页 » 编程语言 » java冒泡排序

java冒泡排序

发布时间: 2022-01-26 23:35:19

A. 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]+" ");
}
}
}

B. 冒泡排序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;j<i;j++){

if(a[j]>a[j+1]){

//交换位置

int temp;

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

//遍历

for(int i=0;i<a.length;i++){

System.out.println(a[i]);

}

算法原理

冒泡排序算法的运作如下:(从后往前)

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

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

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

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

C. 关于JAVA冒泡排序

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

D. 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++){

//交换位置

}

E. java实现冒泡排序

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

F. java中的冒泡排序

数组越界
for (int j = length - 1; j >= i; j--) {
改成
for (int j = length - 2; j >= i; j--) {

G. java冒泡排序

public class sort{
/** * 数组排序 */
public static void main(String[] args){
int a;
int shuzu[]={19,26,95,34,75,62,18,96,35,75,25};
for(int x=0;x<shuzu.length-1;x++){
for(int y=0;y<(shuzu.length-1);y++){
if(shuzu[x]<shuzu[y]){ //你都用了X循环,变量里却不用,浪费资源,改代码就没问题了
a=shuzu[x];
shuzu[x]=shuzu[y];
shuzu[y]=a;
}
}
}
for(int j=0;j<shuzu.length-1;j++){
System.out.print(shuzu[j]+" ");
}
}
}

H. java冒泡排序详细讲解

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

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

I. java 冒泡排序。

自己赋初值

for(int i=0; i<arr.length(); i++){
for(int j=i+1; j<arr.length(); j++){
if(arr[i]>arr[j]){
int t = arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}

J. java的冒泡排序

for(int j=1;j<a.length-i;i++)
你这里j=1,改成j=i+1 j<a.length 就可以了
因为你这里是 一个嵌套,数组的长度是固定的为5,另外这里的 i++,应该改成 j++ 估计打错了 我不知道你这里用 j<a.length-i 这里的减i是什么目的?我们可分析一下:当i=0 时j=1 j<a.length-i(值为5-0=5) 1<5可以通过,当i=1 j=2 j<a.length-i(值为5-1=4) 2<4 通过,当i=2 j=3 j<a.lenght-i (值为5-2=3)这时j=3 而a.lenght-i的值也为3 3<3 不成立 所以不通过。j++也将不执行 所以 不能将数组的所有的数进行比较。

热点内容
w7恢复出厂设置密码是多少 发布:2024-11-16 05:23:49 浏览:790
方周编译器 发布:2024-11-16 05:23:12 浏览:659
数据库监控工具 发布:2024-11-16 05:23:07 浏览:957
存储器题型 发布:2024-11-16 05:23:06 浏览:85
怎么设置电脑配置信息 发布:2024-11-16 05:04:26 浏览:980
推荐系统php 发布:2024-11-16 05:03:42 浏览:11
加密mp3文件 发布:2024-11-16 04:43:04 浏览:842
观澜ug编程培训 发布:2024-11-16 04:42:15 浏览:639
注册表中心服务器地址生成规则 发布:2024-11-16 04:30:19 浏览:962
安卓360双系统怎么设置 发布:2024-11-16 04:29:32 浏览:756