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

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

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA冒泡排序从小到大和从大到小详细过程

JAVA冒泡排序从小到大和从大到小详细过程 1.从小到大的冒泡排序 for(int i=0;i<a.length-1;i++)//外层循环控制排序趟数 { for(int j=0;j<a.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 i<4,j<4 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 i<4,j<3 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 i<4,j<2 i=2 (第三趟,3个数两两比较2次,可确定一个最大数,剩2个数) j=0 则排序后为:4 5 3 6 7 j=1 则排序后为:4 3 5 6 7 i<4,j<1 i=3 (第四趟,2个数两两比较1次,可确定一个最大数,剩1个数,为最小数) j=0 则排序后为:3 4 5 6 7 2.从大到小的冒泡排序 for(int i=0;i<a.length-1;i++)//外层循环控制排序趟数 { for(int j=0;j<a.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)i<4,j<4 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)i<4,j<3 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)i<4,j<2 i=2 (第三趟,3个数两两比较2次,可确定一个最小数,剩2个数) j=0 则排序后为:7 6 5 4 3 j=1 则排序后为:7 6 5 4 3 (4)i<4,j<1 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;i<a.length;i++)//打印排序前的数组 { System.out.print("a["+i+"]="+a[i]+" "); } System.out.println(); System.out.println("从小到大冒泡排序后的数组为:"); for(int i=0;i<a.length-1;i++)//外层循环控制排序趟数 { for(int j=0;j<a.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;i<a.length;i++)//打印从小到大冒泡排序后的数组 { System.out.print("a["+i+"]="+a[i]+" "); } System.out.prin

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档