算法DAY66

今天是去实现了一下排序算法

先是交换排序 

最简单的冒泡排序:

#include
#include
#include
using namespace std;
int main(){
    
    int n;
    vector result;
    while(cin>>n){
        result.push_back(n);
    }
    int a=0;
    for(int i=0;i         int flag=0;
        for(int j=result.size()-1;j>i;j--){
            if(result[j]                 int tmp=result[j];
                result[j]=result[j-1];
                result[j-1]=tmp;
                flag=1;
            }
        
        }    
        if(flag==0)
            break;
    }
    for(int i=0;i        cout<     }
    
    
}

快速排序:

#include
#include
#include
using namespace std;

int pattern(vector &a,int low,int high){
    int tmp=a[low];
    while(low         for(;lowtmp;high--){
        }
        swap(a[low],a[high]);
        for(;low         }
        swap(a[high],a[low]);
    }
    a[low]=tmp;
    return low;
}

void quicksort(vector &a,int low,int high){
    if(low>=high) return;
    int tmp=pattern(a,low,high);
    quicksort(a,low,tmp-1);
    quicksort(a,tmp+1,high);
}


int main(){
    
    int n;
    vector result;
    while(cin>>n){
        result.push_back(n);
    }
    quicksort(result,0,result.size()-1);
    for(int i=0;i        cout<     }   
}

你可能感兴趣的:(算法,c++,开发语言)