交换排序

来源:互联网 发布:sql declare怎么运行 编辑:程序博客网 时间:2024/05/21 09:32

冒泡排序(稳定)

#include<iostream>using namespace std;void bubblesort(int a[],int n){int i,j,p;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(a[j]>a[j+1])p=a[j],a[j]=a[j+1],a[j+1]=p;}}}int main(){int i,j,a[5]={1,4,3,2,8};bubblesort(a,5);for(i=0;i<5;i++)cout<<a[i]<<" ";}


快速排序(不稳定)

由冒泡排序改进

#include<iostream>using namespace std;void quicksort(int a[],int l,int r){int i,j,x;if(l<r){i=l;j=r;x=a[i];while(i<j){while(i<j&&a[j]>x)       //寻找后面比x小的数j--;if(i<j)a[i++]=a[j];            //比x大的数放到前面while(i<j&&a[i]<x)      //寻找前面比x大的数i++;if(i<j)a[j--]=a[i];             //比x小的数放到后面}a[i]=x;                      //一轮排序后,将x放回序列quicksort(a,l,i-1);          //递归quicksort(a,i+1,r);}}int main(){int a[7]={1,5,3,2,53,6,7},i,l=0,r=6;quicksort(a,l,r);for(i=0;i<=r;i++)cout<<a[i]<<" ";}


原创粉丝点击