zoukankan      html  css  js  c++  java
  • 快速排序

    #include <stdio.h>
    
    int arr[] = {13,23,5,67,43,19,34,8,21};
    
    #define LENGTH sizeof(arr) / sizeof(int)
    
    void print() {
    	int i;
    	for (i = 0; i < LENGTH; i++) {
    		printf("%d ", arr[i]);
    	}
    	printf("
    
    ");
    }
    void quicksort(int* arr, int l, int h) {
    	int i, j, tem, key;
    	key = arr[l];
    	i = l;
    	j = h;
    	while (i < j) {
    		while (key <= arr[j] && i < j) {
    			j--;
    		}
    		if (i < j) {
    			tem = arr[i];
    			arr[i] = arr[j];
    			arr[j] = tem;
    			print();
    		}
    		
    		while (arr[i] <= key  && i < j) {
    			i++;
    		}
    		if (i < j) {
    			tem = arr[i];
    			arr[i] = arr[j];
    			arr[j] = tem;
    			print();
    		}
    	}
    	if (i - 1 > l) {
    		quicksort(arr, 0, i - 1);
    	}
    	if (j + 1 < h) {
    		quicksort(arr, j + 1, h);
    	}
    
    }
    
    int main(int argc, char* args[]) {
    
    	print();
    	quicksort(arr, 0, LENGTH-1);
    
    	return 0;
    }
    
  • 相关阅读:
    java设计模式概述
    Filter
    hello1 hello2 代码分析
    计划
    页面生命周期1
    Jquery
    关于DropDownList
    页面生命周期
    随机生成验证码
    关于技术
  • 原文地址:https://www.cnblogs.com/zhang-han/p/14091782.html
Copyright © 2011-2022 走看看