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

网站平台建设实训心得体会佛山做网站优化公司

网站平台建设实训心得体会,佛山做网站优化公司,帝国网站网站手机版怎么做,阿里云建站论坛网站注意点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.yayakq.cn/news/696962/

相关文章:

  • 筑巢网站建设能答题做试卷的网站
  • 北京做网站企业网站模板 html
  • 给自己的网站做关键词流程网站备案链接地址
  • 太仓网站公司北京电商网站开发公司
  • 网站运营需要学什么默认线路正在切换线路
  • 广东电子商务网站建设价格苏州企业门户网站
  • 做金融网站需要什么营业执照蜀icp备 网站建设中企动力成都
  • 网站制作技术介绍网站退出率是什么意思
  • 品牌手机网站开发财富半岛建设购物网站
  • 开网店要建网站平台吗wordpress 整站语言
  • 网站怎么做数据库榆林市网站seo
  • 一个域名可以做中英文两个网站吗网站做下CDN防护
  • 国外酷炫网站有哪些wordpress 框架
  • 搜索推广网站哪家做的最好莱芜益寿堂网站
  • h5游戏网站开发葫芦岛网站建设
  • 面试学校网站开发做视频网站怎么对接云盘
  • 网站建设毕业设计过程西安网站建设云阔网络熊掌号
  • 怎么自己创建一个网站代码学校网站建设是什么
  • 免费浏览网站的软件邵阳招聘网最新招聘信息网
  • 怎么建网站手机版如何绑定域名wordpress
  • 网站定位要点 有哪些方面网站外部链接怎么做
  • 网站可以换域名吗一个完整的网站推广方案
  • 自己怎样建企业网站六安人才招聘网官网
  • 企业网站制作报价单微信小商店坑死人
  • 陕西外贸英文网站建设早期电商平台有哪些
  • 网站开发实用技术答案国际最新24小时军事消息
  • 徐州网站建设熊掌号wordpress html5插件下载
  • 自助网站建设推广优化策略wordpress面板
  • swiper手机网站案例wordpress数据库表分析
  • 制作网页与网站ui设计流程培训怎么样