|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- void quick_sort(int array[], int left, int right)
- {
- int i = left, j = right;
- int temp;
- int pivot;
-
- pivot = array[(left + right) / 2];
-
- while (i <= j)
- {
- //从左到右找到大于等于基准点的元素
- while (array[i] < pivot)
- {
- i++;
- }
- //从右到左找到小于等于基准点的元素
- while (array[j] > pivot)
- {
- j--;
- }
- //如果i <= j,则互换
- if (i <= j)
- {
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- i++;
- j++;
- }
- }
-
- if (left < j)
- {
- quick_sort(array, left, j);
- }
-
- if (i < right)
- {
- quick_sort(array, i, right);
- }
- }
-
- int main (void)
- {
- int array[] = {73, 108, 111, 118, 101, 70, 105, 115, 105, 67, 46, 99, 111, 109} ;
- int i, length;
-
- length = sizeof(array) / sizeof(array[0]);
- quick_sort(array, -, length-1);
-
- return 0;
- }
复制代码
没看懂这段代码啥意思,有没有高人能不能一行行解释下? |
|