标签:point 学习 font ++ div 初始 c语言学习 排序 while
快速排序
1 //快速排序 2 #include <stdio.h> 3 4 void quicksort(int a[], int left, int right); 5 6 void main() 7 { 8 int a[10] = {99, 45, 12, 36, 69, 22, 62, 796, 4, 696}; 9 int i; 10 printf("初始排序: \n"); 11 for(i = 0; i < 10; i++) 12 { 13 printf(" %d", a[i]); 14 } 15 quicksort(a, 0, 10); 16 printf("\n快速排序后的结果:\n"); 17 for(i=0; i<10; i++) 18 { 19 printf(" %d", a[i]); 20 } 21 printf("\n"); 22 } 23 24 void quicksort(int a[], int left, int right) 25 { 26 int j = left, k = right, temp, point; 27 28 point = a[(left + right) / 2]; 29 30 while(j <= k) 31 { 32 while(a[j] < point) 33 { 34 j++; 35 } 36 while(a[k] > point) 37 { 38 k--; 39 } 40 if(j <= k) 41 { 42 temp = a[j]; 43 a[j] = a[k]; 44 a[k] = temp; 45 j++; 46 k--; 47 } 48 } 49 if(left<k) 50 { 51 quicksort(a, left, k); 52 } 53 if(j<right) 54 { 55 quicksort(a, j, right); 56 } 57 }
标签:point 学习 font ++ div 初始 c语言学习 排序 while
原文地址:https://www.cnblogs.com/wangkeqi/p/9415346.html