SDUT3399数据结构实验之排序二:交换排序
来源:互联网 发布:埃摩森猎头公司知乎 编辑:程序博客网 时间:2024/06/07 07:01
#include<bits/stdc++.h>using namespace std;int s1,s2;void f1(int a[],int n){ for(int i=0; i<=n-2; i++) for(int j=0; j<=n-i-2; j++) if(a[j]>a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; s1++; }}void f2(int b[],int l,int r){ int x=b[l],i=l,j=r; if(l>=r)return; while(i<j) { while(i<j&&b[j]>=x)j--; if(i!=j) { b[i]=b[j]; s2++; } while(i<j&&b[i]<=x)i++; if(i!=j) { b[j]=b[i]; s2++; } } b[i]=x; f2(b,l,i-1); f2(b,i+1,r);}int main(){ int n; while(~scanf("%d",&n)) { int a[10050],b[10050]; s1=s2=0; for(int i=0; i<n; i++) { scanf("%d",&a[i]); b[i]=a[i]; } f1(a,n); f2(b,0,n-1); printf("%d %d\n",s1,s2); }}
0 0
- SDUT3399数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- peerconnection_server目录中html代码简单注释与分析
- Ubuntu系统之MySql+sqlyog安装配置教程
- MySQL5.7.14-下载安装教程-->MySQL数据库语句详细教程
- 碰撞 四个方向
- 最短路(HDU2544)
- SDUT3399数据结构实验之排序二:交换排序
- Git常用命令
- Unable to load native-hadoop library for your platform
- 在内部存储中写文件
- 传送门:安卓获取子控件的位置
- 140.Identify two situations in which the block header grows in a data block. (Choose two.)
- iOS开发应用程序证书配置相关(推送)
- IDEA 本地项目导入到gitHub上
- 四方碰撞检测