A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© _hy 中级黑马   /  2015-5-8 10:51  /  265 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

记得上学时,每当考试涉及到选择、冒泡排序时,都是死记硬背代码。这次看了毕老师的视频,才有了一定的理解。以下是我对这两种排序方法的理解。请各位大神指正。定义一个数组int arr[]

选择排序:第一轮,arr[0]逐一与其它元素相比较并换位,比完后arr[0]可以得到一个最值。

                第二轮,因为arr[0]已出现最值,所以arr[0]不再参与比较。以arr[1]开始与其它相比较、换位,比完后arr[1]可以得到一个值。

               以此类推直到 arr[arr.length-1]得到一个最值。关键代码:

  1. <p>for(int x=0;x<arr.length-1;x++)
  2.   {
  3.           for(int y=x+1;y<arr.length;y++)
  4.         {  
  5.                if(arr[x]>arr[y])</p><p>             {</p><p>               <font color="black"> int tem=arr[x];</font></p><p>                arr[x]=arr[y];</p><p>                arr[y]=tem;</p><p>             }</p><p>        }
  6. }</p>
复制代码

冒泡排序:第一轮,相邻两元素相比、换位, arr[arr.length-1]得到一个最值。

                 第二轮arr[arr.length-1]不再参与比较,同理 arr[arr.length-2]也得到一个值。

                 以此类推直到 arr[0]得到一个最值。关键代码:


  1. <p>for(int x=0;x<arr.length-1;x++)
  2.   {
  3.           for(int y=0;y<arr.length-x-1;y++)
  4.         {  
  5.                if(arr[y]>arr[y+1])</p><p>             {</p><p>               <font color="black"> int tem=arr[y];</font></p><p>                arr[y]=arr[y+1];</p><p>                arr[y+1]=tem;</p><p>             }</p><p>        }
  6. }
  7. </p>
复制代码

1 个回复

倒序浏览
{</p><p>   这些是什么代码?感觉没见过额。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马