黑马程序员技术交流社区
标题:
数组冒泡排序应该在哪儿输出?
[打印本页]
作者:
王小聪
时间:
2012-12-20 21:33
标题:
数组冒泡排序应该在哪儿输出?
本帖最后由 王小聪 于 2012-12-20 21:36 编辑
//建立一个数组
public class Demo1{
public static void main(String[] args){
int[] arr = {1,3,4,5,8,6,}
for(int i = 0 :i<arr.length-1:i++){
for(int j = 0:j<arr.length-1-i:j++){
if(arr[j]<arr[j+1])
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
//问题是我这个应该在哪儿输出结果啊?选择排序我已经会了,但是冒泡自己总是晕乎乎的
}
作者:
高境
时间:
2012-12-20 21:45
冒泡排序可以作为一个方法实现,所以,你可以定义一个冒泡函数
public static void bubbleSort(int[] arr)//传入一个int型的数组
{
for(int i = 0 :i<arr.length-1:i++)
{
for(int j = 0:j<arr.length-1-i:j++)
{
if(arr[j]<arr[j+1])
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
然后在你的main函数里面,
创建一个数组int[] arr = {1,3,4,5,8,6,};
然后调用这个bubbleSort函数;然后就可以打印出这个排序好的数组。
作者:
王小聪
时间:
2012-12-20 22:00
高境 发表于 2012-12-20 21:45
冒泡排序可以作为一个方法实现,所以,你可以定义一个冒泡函数
public static void bubbleSort(int[] arr)/ ...
谢谢。请问直接输出的话在哪儿输出啊?
作者:
hanyahui
时间:
2012-12-20 22:03
我写的
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//初始化一个整型数组
int[] bubb={32,1,54,26,24,87,13,88};
bubbing(bubb);
}
//定义一个冒泡排序方法
public static void bubbing(int[] bu)
{
for(int i=0;i<bu.length-1;i++)
{
for(int j=i+1;j<bu.length;j++)
{
if(bu[i]>bu[j])
{
int temp=bu[i];
bu[i]=bu[j];
bu[j]=temp;
}
}
}
//遍历排序后的数组
for(int i:bu)
{
System.out.println(i);
}
}
}
作者:
高境
时间:
2012-12-20 22:05
你的数组要经过排序之后才能输出的是排序好的数组,你可以再定义一个函数,是专门用来打印数组的(遍历数组),然后调用这个函数,从而输出数组中的元素。
作者:
王瀛
时间:
2012-12-20 23:35
本帖最后由 darkwyvern 于 2012-12-21 09:16 编辑
这段代码实现的是应用冒泡排序方法对已知数组进行从大到小的排序。
代码本身没有错误。
如果想要实现楼主所说的“输出”,需要另外单独写一个用于打印数组的函数,然后在这段代码里进行调用即可。
下面附上我写的一段代码:
class Demo1
{
public static void main(String[] args)
{
int[] arr = {1,3,4,5,8,6};
for (int x=0;x<arr.length-1 ;x++ )
{
for (int y=0;y<arr.length-x-1 ;y++ )
{
if (arr[y]<arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
printArray(arr);//调用打印,即输出位置
}
public static void printArray(int[] arr){//打印数组函数
System.out.print("[");
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1){
System.out.print(arr[x]+",");
}
else
System.out.println(arr[x]+"]");
}
}
}
其中printArray函数就是用于打印数组的,即楼主所说的“输出”。
不知对楼主有没有帮助。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2