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

      快速排序的重要性不言而喻,原理什么的不再多说,google一下都很详细,许多面试中都重点考察,甚至还会要求迅速手写,今天码出快排的代码。

    #include<iostream>
    using namespace std;
    void quicksort(int left,int right,int arr[])
    {
    	if(left > right)
    		return ;
    	int i,j,t,tmp;
    	i = left;
    	j = right;
    	t = arr[left];
    	while(i != j)
    	{
    		while(arr[j] >= t && i < j)
    			j --;
    		while(arr[i] <= t && i < j)
    			i ++;
    		if(i < j)
    		{
    			tmp = arr[i];
    			arr[i] = arr[j];
    			arr[j] = tmp;
    		}
    	}
    	arr[left] = arr[i];
    	arr[i] = t;
    	quicksort(left,i - 1,arr);
    	quicksort(i + 1,right,arr);
    	
    }
    int main()
    {
    	int a[] = {5,7,4,2,9,0,8,1,3,6};
    	quicksort(0,9,a);
    	for(int i = 0;i < 10;i ++)
     		cout<<a[i]<<" ";
    	cout<<endl;
    	return 0;	
    }
    

      

  • 相关阅读:
    会场安排
    Comet OJ
    CodeForces1154F
    CodeForces1154E
    2019.08.25校内模拟赛Graph
    2019.08.25校内模拟赛Page
    [MtOI2019]灵梦的计算器
    [MtOI2019]永夜的报应
    [NOI2018]归程
    USACO[CowCoupons]
  • 原文地址:https://www.cnblogs.com/coderchuanyu/p/4181366.html
Copyright © 2011-2022 走看看