python实现
def quick_sort(collection):
length = len(collection)
if length<=1 :
return collection
else:
pivot = collection.pop()
greater,lesser = [] ,[]
for element in collection:
if element > pivot:
greater.append(element)
else:
lesser.append(element)
return quick_sort(lesser) + [pivot] + quick_sort(greater)
if __name__ == "__main__" :
user_input = input("Enter numbers separated by a comma:\n").strip()
unsorted = [int(item) for item in user_input.split(",")]
print (quick_sort(unsorted))
java实现
public class quick_sort {
public static void main(String[] args) throws IOException {
System.out.println("请输入需排序的数字:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] arra = br.readLine().split(",");
Integer[] array = new Integer[arra.length];
for(int i=0; i<arra.length; i++)
array[i] = Integer.parseInt(arra[i]);
List<Integer> as = Arrays.asList(array);
as = quickSort(as);
for(int i=0;i<as.size();i++)
System.out.print(as.get(i)+",");
}
private static List<Integer> quickSort(List<Integer> array) {
if(array.size() <= 1)
return array;
else{
int pivot = array.get(0);
List<Integer> lowList = new ArrayList<Integer>();
List<Integer> highList = new ArrayList<Integer>();
for(int i=1; i<array.size(); i++){
if(array.get(i) < pivot)
lowList.add(array.get(i));
else {
highList.add(array.get(i));
}
}
List<Integer> nowList = new ArrayList<Integer>();
nowList.add(pivot);
lowList = quickSort(lowList);
lowList.add(pivot);
lowList.addAll(quickSort(highList));
return lowList;
}