JAVA冒泡排序从小到大和从大到小详细过程.docVIP

  • 290
  • 0
  • 约2.36千字
  • 约 4页
  • 2017-02-16 发布于重庆
  • 举报

JAVA冒泡排序从小到大和从大到小详细过程.doc

JAVA冒泡排序从小到大和从大到小详细过程

JAVA冒泡排序从小到大和从大到小详细过程 1.从小到大的冒泡排序 for(int i=0;ia.length-1;i++)//外层循环控制排序趟数 { for(int j=0;ja.length-1-i;j++)//内层循环控制比较次数 { if(a[j]a[j+1])//如果前一位大于后一位,则交换,大的数排在后面 { int temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } int a[]={6,4,5,7,3} 6 4 5 7 3 i4,j4 i=0 (第一趟,5个数两两比较4次,可确定一个最大数,剩4个数) j=0 则排序后为:4 6 5 7 3 j=1 则排序后为:4 5 6 7 3 j=2 则排序后为:4 5 6 7 3 j=3 则排序后为:4 5 6 3 7 i4,j3 i=1 (第二趟,4个数两两比较3次,可确定一个最大数,剩3个数) j=0 则排序后为:4 5 6 3 7 j=1 则排序后为:4 5 6 3 7 j=2 则排序后为:4 5 3 6 7 i4,j2 i=2 (第三趟,3个数两两比较2次,可确定一个最大数,剩2个数) j=0 则排序后为:4 5 3 6 7 j=1 则排序后为:4 3 5 6 7 i4,j1 i=3 (第四趟,2个数两两比较1次,可确定一个最大数,剩1个数,为最小数) j=0 则排序后为:3 4 5 6 7 2.从大到小的冒泡排序 for(int i=0;ia.length-1;i++)//外层循环控制排序趟数 { for(int j=0;ja.length-1-i;j++)//内层循环控制比较次数 { if(a[j]a[j+1])//如果前一位小于后一位,则交换,大的数排在前面 { int temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } int a[]={6,4,5,7,3} 6 4 5 7 3 (1)i4,j4 i=0 (第一趟,5个数两两比较4次,可确定一个最小数,剩4个数) j=0 则排序后为:6 4 5 7 3 j=1 则排序后为:6 5 4 7 3 j=2 则排序后为:6 5 7 4 3 j=3 则排序后为:6 5 7 4 3 (2)i4,j3 i=1 (第二趟,4个数两两比较3次,可确定一个最小数,剩3个数) j=0 则排序后为:6 5 7 4 3 j=1 则排序后为:6 7 5 4 3 j=2 则排序后为:6 7 5 4 3 (3)i4,j2 i=2 (第三趟,3个数两两比较2次,可确定一个最小数,剩2个数) j=0 则排序后为:7 6 5 4 3 j=1 则排序后为:7 6 5 4 3 (4)i4,j1 i=3 (第四趟,2个数两两比较1次,可确定一个最小数,剩1个数,为最大数) j=0 则排序后为:7 6 5 4 3 完整代码及运行结果: package sort; public class bubleSort { public static void main(String args[]) { int a[]={6,4,5,7,3}; System.out.println(排序前的数组为:); for(int i=0;ia.length;i++)//打印排序前的数组 { System.out.print(a[+i+]=+a[i]+ ); } System.out.println(); System.out.println(从小到大冒泡排序后的数组为:); for(int i=0;ia.length-1;i++)//外层循环控制排序趟数 { for(int j=0;ja.length-1-i;j++)//内层循环控制比较次数 { if(a[j]a[j+1])//如果前一位大于后一位,则交换,大的数排在后面 { int temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } for(int i=0;ia.length;i++)//打印从小到大冒泡排序后的数组 { System.out.print(a[+i+]=+a[i]+ ); } System.out.println(); System.out.println(从大到小冒泡排序后的数组为:)

文档评论(0)

1亿VIP精品文档

相关文档