排序(冒泡、选择、插入、快速)

来源:互联网 发布:为什么起名字叫淘宝 编辑:程序博客网 时间:2024/06/04 20:05
#include <iostream>using namespace std;
//冒泡排序void maoPao(int *p,int n){    int temp=p[0];    for(int i=0;i<n-1;i++)    {        for(int j=0;j<n-1-i;j++)        {            if(p[j]<p[j+1])            {                temp=p[j+1];                p[j+1]=p[j];                p[j]=temp;            }        }    }}
//选择排序void selectSort(int *p,int n){    for(int i=0;i<n-1;i++)    {        int temp=0;        int k=i;        for(int j=i+1;j<n;j++)            if(p[j]>p[k])                k=j;        temp=p[k];        p[k]=p[i];        p[i]=temp;    }}
//插入排序void insertSort(int *p,int n){    for(int i=1 ;i<n;i++){        int j=0;        int temp=0;        while(j<i&&p[j]<=p[i])            j++;        if(j<i){           temp=p[i];           int k=i;            while(j<k){               p[k]=p[k-1];                k--;            }                p[j]=temp;        }    }}
//快速查询void quick_sort(int *x, int low, int high) {    if(low>=high) {        return; }    int first=low;    int last=high;    int key=x[first];    while(first<last) {        while(first<last&&x[last]>=key)            --last;        x[first]=x[last];        while(first<last&&x[first]<=key)            ++first;        x[last]=x[first];     }     x[first]=key;    quick_sort(x,low,first-1);     quick_sort(x,first+1,high);}
int main(int argc, const char * argv[]) {    int str[]={2,4,9,5,1,7,6,3,8};    //maoPao(str, 9);    //selectSort(str, 9);    //insertSort(str, 9);    quick_sort(str, 0, 8);    for(int i=0;i<9;i++)    {        cout<<str[i]<<",";    }    std::cout << "Hello, World!\n";    return 0;}
0 0
原创粉丝点击