黑马程序员技术交流社区
标题:
排序for循环嵌套问题
[打印本页]
作者:
\(^o^)/
时间:
2014-4-18 12:31
标题:
排序for循环嵌套问题
class AG
{
public static void main(String[] args)
{
int[] arr={1,8,3,7,0,6,4,5};
AD(arr);
printA(arr);
}
public static void AD(int[] aq)
{
for(int x=0;x<aq.length-1;x++)
{
for(int y=0;y<aq.length-x-1;y++)
{
if(aq[y]>aq[y+1])
{
int temp=aq[y];
aq[y]=aq[y+1];
aq[y+1]=temp;
}
}
}
}
public static void printA(int[] qqq)
{
System.out.print("[");
for(int x=0;x<qqq.length;x++)
{
if(x<qqq.length-1)
System.out.print(qqq[x]+",");
else
System.out.println(qqq[x]+"]");
}
}
}
请问下两个for的嵌套循环可以写成一个for循环吗?怎么实现?
作者:
展展
时间:
2014-4-18 12:43
上面的代码是不是先冒泡排序在打印结果?
想两个东西合成一个啊。。两个函数for不能连接一起,先排序,排完顺序再打印好点吧。
public static void AD(int[] aq)
{
for(int x=0;x<aq.length-1;x++)
{
for(int y=0;y<aq.length-x-1;y++)
{
if(aq[y]>aq[y+1])
{
int temp=aq[y];
aq[y]=aq[y+1];
aq[y+1]=temp;
}
}
}
for(int x=0;x<aq.length-1;x++)
System.out.print(aq[i]+",");
}
复制代码
作者:
雪碧拌米饭
时间:
2014-4-18 12:48
去掉 for(int x=0;x<aq.length-1;x++)这一句会是什么效果
作者:
清风有意
时间:
2014-4-18 12:52
如果是想将嵌套的for循环弄成一个,貌似不可能
作者:
宋大龙
时间:
2014-4-18 23:42
for的嵌套循环使用 是可以多个的 不过我们老实讲的 一般的业务很少会用到那么多的嵌套的
格式就是for(){
for(){
for(){
}
}
}
作者:
skill20
时间:
2014-4-19 00:31
class Paixun
{
public static void main(String[] args)
{
int[] arr={1,8,3,7,0,6,4,5};
MaoPao.bubble(arr);
}
}
class MaoPao
{ public static void bubble(int[] arr)
{
for (int x = 0; x < arr.length ; x++ )
{
for (int y = 0; y < arr.length - x - 1 ; y++ )
{
if (arr[y] > arr[y+1])
{
change(arr,y,y+1);
}
}
}
for (int i = 0; i < arr.length ; i++ )
{
System.out.println(arr[i] + " ");
}
}
}
复制代码
作者:
vtming
时间:
2014-4-19 02:33
下面是我写的单个for循环的排序写法。不过没多大意思,没必要非要追求一个循环。
java有提供封装好的排序方法,在工具类Arrays里,比自己写的排序效率要高。
public static int[] f4() {
int[] a={3,5,2,6,8,4};
int temp =0;
int min=0;
for(int i=1,j=0;j<a.length-1;i++){
if(a[i]<a[min]){
min=i;
}
if(i==a.length-1){
temp=a[min];
a[min]=a[j];
a[j]=temp;
j++;
i=j;
min=j;
}
}
return a;
}
作者:
彭飞
时间:
2014-4-20 16:07
个人认识楼主的出发点是对代码的简洁思维。
个人认为楼主应该不要太在意一些比较牛角尖的问题。
比如楼主冒泡排序法,用到2个for循环,外循环一次,内循环一遍。
楼主如果非要用一个for循环,或许有办法搬到,但是感觉有点。。。打个比方:
常说一日三餐, 假如改成一日一餐,那么及时吃得再饱,下午也会饿的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2