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

    一.简介

    二.C语言版本

    //C语言版本
    void sort(int* a,int left,int right){
        
    
        if(left>=right){
            return;
        }
    
        int i=left;
        int j=right;
        int key=a[left];
    
        while(i<j){
            while(i<j && key<=a[j]){
                j--;
            }
            a[i]=a[j];
        
            while(i<j && key>=a[i]){
                i++;
            }
            a[j]=a[i];
        }
    
        a[i]=key;
        sort(a,left,i-1);
        sort(a,i+1,right);
    }

    二.C++版本

    //C++版本
    
    #include <iostream>
    
    using namespace std;
    
    void Qsort(int arr[],int low,int high){
        
        if(high<=low)
            return;
    
        int i=low;
        int j=high+1;
        int key=arr[low];
    
        while(true){
            
            //从左向右找比key大的值
            while(arr[++i]<key){
                if(i==high){
                    break;
                }
            }
    
            //从右向左找比key小的值
            while(arr[--j]>key){
                if(j==low){
                    break;
                }
            }
    
            if(i>=j)
                break;
    
            int temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    
        int temp=arr[low];
        arr[low]=arr[j];
        arr[j]=temp;
        Qsort(arr,low,j-1);
        Qsort(arr,j+1,high);
    }
    
    int main(){
        int a[]={57,68,59,52,72,28,96,33,24};
        Qsort(a,0,sizeof(a)/sizeof(a[0])-1);
        
        for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){
            cout<<a[i]<<"";
        }
        
        return 0;
    }
  • 相关阅读:
    比SRCNN效果好的传统超分辨率算法汇总
    CSS3 2D转换
    CSS3 文本效果
    CSS3 Gradients(渐变)
    CSS3 背景
    CSS3 圆角
    CSS3 边框
    CSS3 简介
    CSS 属性选择器
    CSS 媒体类型
  • 原文地址:https://www.cnblogs.com/k5bg/p/11064637.html
Copyright © 2011-2022 走看看