插入排序和氣泡排序
阿新 • • 發佈:2018-11-04
#include "stdafx.h" #include<cstdio> #include<iostream> using namespace std; const int maxn=110; const int inf=0x7fffffff; typedef long long ll; int n; int a[maxn]; void insertsort(){ for(int i=2;i<=n;i++) { if(a[i]<a[i-1]){ a[0]=a[i]; int j; for(j=i-1;a[j]>a[0];j--) a[j+1]=a[j]; a[j+1]=a[0]; } } } void insertsort(){ for(int i=2;i<=n;i++) {if(a[i]>a[i-1]){ a[0]=a[i]; int l=1,r=i-1; while(l<=r){ int mid=(l+r)/2; if(a[mid]>a[0])r=mid-1; else l=mid+1; } for(int j=i-1;j>=r+1;j--) a[j+1]=a[j]; a[r+1]=a[0]; }}} void BubbleSort(){ int flag; for(int i=0;i<n-1;i++) {flag=0; for(int j=n-1;j>i;j--) if(a[j]<a[j-1]){ swap(a[j],a[j-1]); flag=1; } if(flag)return; }}