您的位置:首页 > 其它

想搞个快速排序,却用上了ArrayList是不是有点“邪魔外道” ……

2015-09-14 00:10 375 查看
想搞个快速排序,却用上了ArrayList是不是有点“邪魔外道” ……

import java.util.ArrayList;

/**

* Created by Monster on 2015/9/13.

* 使用可变数组进行类似于快速排序的排序:

* 方法checkSequen用法:

* 接收一个已排序的可变数组,及一个待比较的值;

* 即可输出这个值在这个已排序的数值中应该插入的位置,即下标;

*

* 方法quickSortByArrayList用法:

* 接收一个未排序的数组,然后新建一个为空的outputArrayList;

* 并对为排序的数组中的每一个元素及outputArrayList使用checkSequen;

* 并按大小插入到outputArrayList中;

* 最后将可变数组转换成数组outputArray输出;

*/

public class QuickSortByArrayList {

int index;

int indexInCheck;

public int checkSequence(ArrayList<Integer> ArrayList,int input){
for(int i=0;i<ArrayList.size();i++){
if (input<=ArrayList.get(i)){
indexInCheck=i;
break;
}
else {
indexInCheck=-1;
}
}
return indexInCheck;
}

public int[] quickSortByArrayList(int[] inputArray){
ArrayList<Integer> outputArrayList=new ArrayList<Integer>(0);
for(int j=0;j<inputArray.length;j++){
index=checkSequence(outputArrayList,inputArray[j]);
if(index==-1){
outputArrayList.add(inputArray[j]);
}
else {
outputArrayList.add(index,inputArray[j]);
}
}
int[] outputArray=new int[outputArrayList.size()];
for(int i=0;i<outputArrayList.size();i++){
outputArray[i]=outputArrayList.get(i);
}
return outputArray;
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息