zoukankan      html  css  js  c++  java
  • 快速排序的实现(c语言)

    以前写的代码

    //
    //  main.c
    //  cTest
    //
    //  Created by Zizhu on 13-10-8.
    //  Copyright (c) 2013年 Zizhu. All rights reserved.
    //
    
    #include <stdio.h>
    
    #define N (10)
    
    void quickSor(int *nums, int indexStart, int indexEnd);
    int  partition(int *nums, int indexStart, int indexEnd);
    void exchange(int *nums, int p1, int p2);
    void printNums(int *nums, int count);
    
    int main()
    {
    	printf(">>>strat
    ");
    	int nums[N] = {0, 4, 2, 5, 1, 3, -1, 19, 99, -100};
    	printNums(nums, N);
    	int mid = partition(nums, 0, N-1);
    	printNums(nums, N);
    	printf("mid = %d
    ", mid);
    	quickSor(nums, 0, N-1);
    	printNums(nums, N);
    	return 0;
    }
    
    void quickSor(int *nums, int indexStart, int indexEnd)
    {
    	if (indexEnd > indexStart)
    	{
    		int indexMid = partition(nums, indexStart, indexEnd);
    		quickSor(nums, indexStart, indexMid-1);
    		quickSor(nums, indexMid+1, indexEnd);
    	}
    	
    }
    
    int partition(int *nums, int indexStart, int indexEnd)
    {
        
    	int p2 = indexStart-1;
    	int p1;
        
    	int target = nums[indexEnd];
        
    	for (p1 = indexStart; p1 < indexEnd; p1++)
    	{
    		if (nums[p1] <= target)
    		{
    			p2++;
    			exchange(nums, p1, p2);
    			
    		}
    	}
    	exchange(nums, p2+1, indexEnd);
    	return p2+1;
    }
    
    void exchange(int *nums, int p1, int p2)
    {
    	int tmp = nums[p1];
    	nums[p1] = nums[p2];
    	nums[p2] = tmp;
    }
    
    void printNums(int *nums, int count)
    {
    	printf("numbers : ");
    	int i;
    	for (i = 0; i < count; ++i)
    	{
    		printf("%4d	", nums[i]);
    	}
    	printf("
    ");
    }
    

      

  • 相关阅读:
    bzoj4262
    bzoj3252
    海蜇?海蜇!
    AGC018F
    java数据类型;常量与变量;类型转化;
    java 基础,查看jar包源码,JD-GUI
    性能测试报告
    如何防止http请求数据被篡改
    支付业务,测试遇到请求超时怎么处理;支付业务流程;异步通知和同步通知;
    fiddler使用;
  • 原文地址:https://www.cnblogs.com/huangzizhu/p/3749818.html
Copyright © 2011-2022 走看看