黑马程序员技术交流社区
标题:
冒泡排序
[打印本页]
作者:
xiecong
时间:
2015-8-5 13:35
标题:
冒泡排序
class MaoPao
{
public static void main(String[] args)
{
int [ ] arr = {2,6,8,9,12,43,25,88,15};
printArry(arr);
maoPao(arr);
printArry(arr);
}
public static int[] maoPao(int[ ] arr)
{
for(int x = 0 ;x<arr.length;x++)
for(int y = x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
arr[x] = arr[x]^arr[y];
arr[y] = arr[x]^arr[y];
arr[x] = arr[y]^arr[x];
}
}
return arr;
}
public static void printArry(int[ ] arr)
{
for(int i = 0;i<arr.length;i++)
System.out.print(arr[i]+"\t");
System.out.println();
}
}
作者:
白羽蘇芳
时间:
2015-8-5 13:53
这不是选择排序么 冒泡比较的是两个相邻的元素啊
作者:
蛋糕的爱意
时间:
2015-8-5 13:59
这是选择排序呀冒泡排序是要想一个泡泡那样升上去的。
作者:
xiecong
时间:
2015-8-5 14:07
蛋糕的爱意 发表于 2015-8-5 13:59
这是选择排序呀冒泡排序是要想一个泡泡那样升上去的。
水里鱼儿吐的气泡越来越大 的意思 从第一个开始第一个与后边的每一个相比只能比后边的都小 。。。。。。这样从小到大排序就叫冒泡排序呀
作者:
金逗逗
时间:
2015-8-5 15:38
你贴错代码了吧?这是选择排序
作者:
徐鹏辰
时间:
2015-8-5 15:50
怎么可以不写注释!
作者:
kingxiao
时间:
2015-8-5 16:08
class maoPao
{
public static void maopao(int arr[])
{
for (int x=0;x<arr.length ;x++ )
{
for (int y=x+1;y<arr.length-x-1 ;y++ )
{
if(arr[y]<arr[x])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static void print(int arr[])
{
for (int x=0;x<arr.length ;x++ )
{
System.out.print(arr[x]+",");
}
}
public static void main(String[] args)
{
int arr[]={2,4,1,5,6,8,9};
maopao(arr);
print(arr);
}
}
这才是
作者:
kenfans
时间:
2015-8-5 16:22
汗,你们的貌似都是错的,冒泡的比较的
y和y+1比,不是和x比
作者:
叶顺达
时间:
2015-8-5 19:21
不是冒泡 鉴定完毕
作者:
xiecong
时间:
2015-8-8 15:24
本帖最后由 xiecong 于 2015-8-8 16:00 编辑
叶顺达 发表于 2015-8-5 19:21
不是冒泡 鉴定完毕
class PM
{
public static void main(String[] args)
{
int[ ] a = {2,4,1,43,23,56,33,22};
for (int i = 0;i<a.length ;i++ )
{
for (int j = 0;j<a.length-i-1 ;j++ )
{
if(a[j+1]<a[j])
{
a[j]=a[j]^a[j+1];
a[j+1]=a[j]^a[j+1];
a[j]=a[j+1]^a[j];
}
}
}
for (int x = 0;x<7 ;x++ )
{
System.out.print(a[x]+",");
}
}
}
作者:
xiecong
时间:
2015-8-8 15:41
确实 搞错了 不好意思 各位
作者:
xiecong
时间:
2015-8-8 15:59
class PM
{
public static void main(String[] args)
{
int[ ] a = {2,4,1,43,23,56,33,22};
for (int i = 0;i<a.length ;i++ )
{
for (int j = 0;j<a.length-i-1 ;j++ )
{
if(a[j+1]<a[j])
{
a[j]=a[j]^a[j+1];
a[j+1]=a[j]^a[j+1];
a[j]=a[j+1]^a[j];
}
}
}
for (int x = 0;x<7 ;x++ )
{
System.out.print(a[x]+",");
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2