Arrangement method of quick sorting method: First, set a reference point every time you sort, put all the numbers less than or equal to the reference point to the left of the reference point; then put all the numbers greater than or equal to the reference point To the right of the reference point; finally, every exchange will not be like bubble sorting where only adjacent numbers can be exchanged each time, and the exchange distance will be much larger.
Quick sorting method:
Algorithm idea:
(1) We select a record (usually the first one) from the record sequence to be sorted as the reference element (called key) key=arr[left], and then set two variables, left points to the leftmost part of the sequence , right points to the rightmost part of the data.
(2) key is first compared with arr[right]. If arr[right] (3) If there is arr[right] (4) Then move right and repeat the above steps (5) Finally get {23 58 13 10 57 62} 65 {106 78 95 85}, and then perform the same operation on the left subarray and right subarray. Finally, an ordered sequence is obtained. Algorithm implementation: Related learning recommendations: C video tutorialpublic class QuickSort {
public static void quickSort(int [] arr,int left,int right) {
int pivot=0;
if(left<right) {
pivot=partition(arr,left,right);
quickSort(arr,left,pivot-1);
quickSort(arr,pivot+1,right);
}
}
private static int partition(int[] arr,int left,int right) {
int key=arr[left];
while(left<right) {
while(left<right && arr[right]>=key) {
right--;
}
arr[left]=arr[right];
while(left<right && arr[left]<=key) {
left++;
}
arr[right]=arr[left];
}
arr[left]=key;
return left;
}
public static void main(String[] args) {
int arr[]= {65,58,95,10,57,62,13,106,78,23,85};
System.out.println("排序前:"+Arrays.toString(arr));
quickSort(arr,0,arr.length-1);
System.out.println("排序后:"+Arrays.toString(arr));
}
}
排序前:[65, 58, 95, 10, 57, 62, 13, 106, 78, 23, 85]
排序后:[10, 13, 23, 57, 58, 62, 65, 78, 85, 95, 106]
The above is the detailed content of How to sort using quick sort in C language. For more information, please follow other related articles on the PHP Chinese website!