本帖最后由 白堇翎 于 2013-7-14 20:45 编辑
- public void SelectSortProcedure()//选择排序
- {
- int pass,i,temp,k;
- for(pass=0;pass<DataArayy.length;pass++) //选择多次,有序子列增长
- {
- for(i=pass,k=i;i<DataArayy.length;i++)//一次选择过程无序子列减少
- if(DataArayy<DataArayy[k]) //选择剩余排序中最小者
- k=i ;
- temp = DataArayy[pass];//排在剩余序列的最前面
- DataArayy[pass] = DataArayy[k];
- DataArayy[k] = temp;
- for(i=0;i<DataArayy.length;i++)
- SortPro[pass+1] = DataArayy;//记录本论选择后的数据排列情况
- }
- }
复制代码 修正- public void SelectSortProcedure()//选择排序
- {
- int pass,i;
- int[] DataArayy = {};
- for(pass=0;pass<DataArayy.length;pass++) //选择多次,有序子列增长
- {
- for(i=pass,;i<DataArayy.length;i++) [//一次选择过程无序子列减少
- if(DataArayy[i]<DataArayy[pass]) { //选择剩余排序中最小者
- DataArayy[pass]=DataArayy[i] ^DataArayy[pass]; //用与运算换位
- DataArayy[i]=DataArayy[i]^DataArayy[pass];
- DataArayy[pass] = DataArayy[i]^DataArayy[pass];
- }
- }
- }
- }
复制代码 |