fly_fish_2005
发贴: 4
积分: 0
|
于 2006-01-09 15:53
我解决了j增加的问题,但是不知道为什么打印出来的数组是我们初始化时的数组,而非排序后的数组,请牛人指教! 下边是我的代码: public void merge(int theArray[],int[] workspace, int begin, int up, int end) { // 就是这个j,老是莫名其妙的增加 int j = 0; int n = end-begin+1; int mid = up-1; int temp=0; temp=begin; while (begin <= mid && up <= end){ if (theArray[begin] < theArray[up]){ workspace[j++] = theArray[begin++]; }else{ workspace[j++] = theArray[up++]; } } while (begin <= mid) { workspace[j++] = theArray[begin++]; } while (up <= end){ workspace[j++] = theArray[up++]; } for( ;j<n; j++) { theArray[temp++]=workspace[j]; } }
|