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("
    ");
    }
    

      

  • 相关阅读:
    大数据介绍
    Android系统手机端抓包方法
    svn warning W205000 :windows下 SVN idea 配置 代理配置
    idea tomcat 启动日志乱码
    翻译 API 一句话API
    git push proxy 取消不掉 can not prox....
    webpack+vue搭建vue项目
    java 多线程
    实时监听 JavaScript改变 input 值 input输入框内容 value 变化实时监听
    leetcode 数组
  • 原文地址:https://www.cnblogs.com/huangzizhu/p/3749818.html
Copyright © 2011-2022 走看看