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

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    
    int partition(int a[],int l,int r){
    	int i=l,j=r+1;
    	int x=a[l];
    	while(true){
    		while(a[++i]<x&&i<r);
    		while(a[--j]>x);
    		if(i>=j)break;
    		swap(a[i],a[j]);
    		}
    	a[l]=a[j];
    	a[j]=x;
    	return j;
    	}
    void quickSort(int a[],int l,int r){
    	if(l<r){
    		int p=partition(a,l,r);
    		quickSort(a,l,p-1);
    		quickSort(a,p+1,r);
    		}
    	}
    
    int randPartition(int a[],int l,int r){
    	int i=rand()%(r-l+1)+l;
    	swap(a[l],a[i]);
    	return partition(a,l,r);
    
    	}
    void randQuickSort(int a[],int l,int r){
    	if(l<r){
    		int i=randPartition(a,l,r);
    		randQuickSort(a,l,i-1);
    		randQuickSort(a,i+1,r);
    		}
    	}
    
    void main(){
    	srand(time(NULL));
    	const int n=10;
    	int a[n];
    	for(int i=0;i<n;i++){
    		a[i]=rand()%100+1;
    		cout<<a[i]<<" ";
    		}
    	cout<<endl;
    	randQuickSort(a,0,n-1);
    	for(int i=0;i<n;i++)
    		cout<<a[i]<<" ";
    	cout<<endl;
    
    	
    	cout<<endl;
    	system("pause");
    	}


  • 相关阅读:
    K8S-安全机制
    K8S-Service
    K8S-Pod资源管理
    K8S-kubelet启动过程
    每日进度
    每日进度
    每日进度
    每日进度
    每日进度
    归纳及计划
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/2979649.html
Copyright © 2011-2022 走看看