不明白第2个FOR循环的范围到那里,不明白K=I的话不一直是自身在比较么?复制代码
- <BLOCKQUOTE>
- <P>public void SelectSortProcedure()//选择排序
- {
- int pass,i,temp,k; </P>
- <P>for(pass=0;pass<DataArayy.length;pass++) //选择多次,有序子列增长
- {
- for(i=pass,k=i;i<DataArayy.length;i++)//一次选择过程无序子列减少 </P>
- <P>if(DataArayy<DataArayy[k]) //选择剩余排序中最小者
- k=i ;
- temp = DataArayy[pass];//排在剩余序列的最前面
- DataArayy[pass] = DataArayy[k];
- DataArayy[k] = temp; </P>
- <P>for(i=0;i<DataArayy.length;i++)
- SortPro[pass+1] = DataArayy;//记录本论选择后的数据排列情况 </P>
- <P>}
- } </P>
a.jpg (45.79 KB, 下载次数: 0)
b.jpg (99.21 KB, 下载次数: 0)
杨兴庭 发表于 2013-7-14 20:59
-------------------坚持学习,黑马因你而精彩---------------
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |