当前位置: 首页 > news >正文

汕头手机模板建站成都百度seo优化公司

汕头手机模板建站,成都百度seo优化公司,高端网网站建设,广州做企业网站找哪家公司好注意点1:判断插入排序不能从头开始判断是否为目标数组, 比如:初始为1 2 3 4 3,目标数组也为1 2 3 4 3,则如果是从头开始推的,则下一步会变成1 2 3 4 3,而下一步应该是 1 2 3 3 4。所以我们应该…

注意点1:判断插入排序不能从头开始判断是否为目标数组,

比如:初始为1 2 3 4 3,目标数组也为1 2 3 4 3,则如果是从头开始推的,则下一步会变成1 2 3 4 3,而下一步应该是 1 2 3 3 4。所以我们应该从第一个无序的位置开始排序。也就是从最后一个3开始排序判断目标数组。

注意点2:题目中的归并排序为相邻归并(递推归并),而非中分归并(递归归并)。

技巧点:排序可以用sort减少思考步骤。

常规模拟版

#include<bits/stdc++.h>
using namespace std;
int a[110],b[110],c[110];
int n;
bool check(){for(int i=0;i<n;i++){if(c[i]!=b[i])return 0;}return 1;
}
void print(){for(int i=0;i<n;i++){cout<<c[i];if(i!=n-1)cout<<' ';}
}
bool insert(){bool flag=0;for(int i=1;i<n;i++){//找到第一个无序的位置排序。if(c[i-1]<=c[i])continue;if(check())flag=1;int pos=i;int temp=c[i];while(pos>0&&c[pos-1]>temp){c[pos]=c[pos-1];pos--;}c[pos]=temp;if(flag)return 1;}return 0;
}
void merge(){bool flag=0;for(int len=2;len<=n;len*=2){if(check())flag=1;for(int l=0;l<n;l+=len){int r=min(n-1,l+len-1);int mid=l+len/2-1;int i=l,j=mid+1;vector<int>temp;while(i<=mid&&j<=r){if(c[i]<=c[j])temp.push_back(c[i++]);else temp.push_back(c[j++]);}while(i<=mid)temp.push_back(c[i++]);while(j<=r)temp.push_back(c[j++]);for(i=l,j=0;i<=r;i++,j++){c[i]=temp[j];}}if(flag)return ;}
}
int main(){cin>>n;for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++)cin>>b[i];memcpy(c,a,sizeof a);if(insert()){cout<<"Insertion Sort"<<endl;print();}else {memcpy(c,a,sizeof a);merge();cout<<"Merge Sort"<<endl;print();}
}

sort版 

#include<bits/stdc++.h>
using namespace std;
int a[110],b[110],c[110];
int n;
bool check(){for(int i=0;i<n;i++){if(c[i]!=b[i])return 0;}return 1;
}
void print(){for(int i=0;i<n;i++){cout<<c[i];if(i!=n-1)cout<<' ';}
}
bool insert(){bool flag=0;for(int i=1;i<n;i++){//找到第一个无序的位置排序。if(c[i-1]<=c[i])continue;if(check())flag=1;sort(c,c+i+1);if(flag)return 1;}return 0;
}
void merge(){bool flag=0;for(int len=2;len<=n;len*=2){if(check())flag=1;for(int i=0;i<n;i+=len){int j=min(n,i+len);sort(c+i,c+j);}if(flag)return ;}
}
int main(){cin>>n;for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++)cin>>b[i];memcpy(c,a,sizeof a);if(insert()){cout<<"Insertion Sort"<<endl;print();}else {memcpy(c,a,sizeof a);merge();cout<<"Merge Sort"<<endl;print();}
}

http://www.mmbaike.com/news/72131.html

相关文章:

  • 成品网站代理网站制作软件
  • 福州房产网站建设东莞关键词自动排名
  • php网站模板 免费优化营商环境条例心得体会
  • 营销型网站搭建公司打开百度一下你就知道
  • 网站后台管理系统php北京seo优化厂家
  • 合肥seo网站多少钱编写网页的软件
  • 邢台哪儿专业做网站接外包网站
  • 开网站做商城怎么样百度收录排名
  • 网站做阿拉伯语的宁阳网站seo推广
  • 转行做网站seo综合查询平台官网
  • 网站备案要交钱吗免费投放广告平台
  • 做评测好的视频网站有哪些电商运营推广的方式和渠道有哪些
  • 单位网站建设管理情况在线推广企业网站的方法
  • 如何做赌博网站代理网站做成app
  • 卖渔具的亲戚做网站常用网站推广方法及资源
  • 广州市民政局网站建设教育培训机构十大排名
  • 网站的佣金怎么做会计分录武汉网站排名推广
  • 机电建设工程施工网站图片网页制作公司
  • 中山做网站企业志鸿优化网
  • 新手如何建立网站长沙谷歌seo收费
  • html 动漫网站网络公关公司联系方式
  • 施工企业财务经理年终总结个人做seo怎么赚钱
  • 动易网站开发系统优化是什么意思
  • 永州市开发建设投资有限公司网站重庆关键词优化
  • 这是我自己做的网站网站建设规划书
  • 建设网站的费用怎么做账网络营销解释
  • 那个网站可以做双色球号码对比的橙子建站官网
  • 58同城会员网站怎么做百度账号安全中心官网
  • 微站平台网站搭建软件
  • 做网站公司哪家便宜友情链接地址