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

万网域名申请网站自己建站的网站

万网域名申请网站,自己建站的网站,网站建设首选公司,优秀高端网站建设报价快速排序与归并排序简介: quick_sort为快速排序,merge_sort为归并排序,两者基于分治的思想; 快速排序,简称快排,它以原来数组中的一个值(我们记为x)作为界限,将比它小…

快速排序与归并排序简介: 

quick_sort为快速排序,merge_sort为归并排序,两者基于分治的思想;

快速排序,简称快排,它以原来数组中的一个值(我们记为x)作为界限,将比它小的元素放到x的左边,大于x的放到x的右边,一遍之后,x就放到了它应该放到的位置,然后对x左侧的子数组做快排,同理,对于x右侧的子数组继续做快排即可;

归并排序,是将数组的中点作为界限,将处于前50%的值放在左一半,将大小处于后50%的值放在右一半。不考虑顺序。一轮过去,我们继续对数组前半边使用归并排序,同理,对于数组右半边使用归并排序。值得注意的是,归并排序一直这样递归下去,数组将不断被分割为大小为1的单个元素数组。前面我们并没有考虑顺序,现在我们使用一个tmp数组,对于两个已经被切割的子数组中的元素进行排序。对于原来两个数组各自使用一个指针从头到尾遍历,谁小谁就放在tmp数组中,遍历完成之后,如果有一个数组没有遍历完,那说明它的值相对于另一个数组来说值较大,我们直接拷贝到tmp数组中即可。这样tmp数组放的肯定就是已经排好序的元素,我们应该把他放到原数组中去,让它参与下一轮比较。

代码一览:

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<assert.h>
using namespace std;void Swap(int* pa, int* pb) {int temp = *pa;*pa = *pb;*pb = temp;
}
void quick_sort(int q[], int l,int r) {if(l >= r)return;int i = l - 1, j = r + 1;int x = q[(l + r) / 2];while (i < j) {do i++; while (q[i] < x);do j--; while (q[j] > x);if (i < j)Swap(&q[i], &q[j]);}quick_sort(q, l, j), quick_sort(q, j+1,r);//不要把这个忘记了!是j而不是i,如果是后者,模板得换;
}
int tmp[100];
void merge_sort(int q[], int l, int r) {if (l >= r)return;int mid = (l + r) / 2;merge_sort(q, l, mid), merge_sort(q, mid + 1, r);int i = l, j = mid + 1;int k = 0;while (i <= mid && j <= r) {if (q[i] < q[j])tmp[k++] = q[i++];else tmp[k++] = q[j++];}while (i <= mid) {tmp[k++] = q[i++];}while (j <= r) {tmp[k++] = q[j++];}for (k = 0, i = l; i <= r; k++,i++) {q[i] = tmp[k];}
}
int main() {int arr[] = { 95,1,45,45,454,5,45,62,64,87,84,36,16,1 };int arr2[] = { 95,1,45,45,454,5,45,62,64,87,84,36,16,1 };int len = sizeof(arr) / sizeof(arr[0]);quick_sort(arr, 0, len - 1);merge_sort(arr2, 0, len - 1);for (int i = 0; i < len; i++) {printf("%d ", arr[i]);}puts("");for (int i = 0; i < len; i++) {printf("%d ", arr2[i]);}puts("");return 0;
}

为了保证随机性,我们亦可以在main函数中使用随机数来初始化数组,其他不变:

int main(){int p[10],q[10];srand(time(NULL));for (int i = 0; i < 10; i++) {p[i] = rand() % 999 + 1;q[i] = rand() % 9999 + 1;}for (int i = 0; i < 10; i++) {printf("%d ", p[i]);}puts("");for (int i = 0; i < 10; i++) {printf("%d ", q[i]);}puts("");quick_sort(p, 0, 9);merge_sort(q, 0, 9);puts("");for (int i = 0; i < 10; i++) {printf("%d ", p[i]);}puts("");for (int i = 0; i < 10; i++) {printf("%d ", q[i]);}puts("");return 0;
}


文章转载自:
http://probabiliorism.wqpr.cn
http://adjourn.wqpr.cn
http://convector.wqpr.cn
http://superpower.wqpr.cn
http://denicotinize.wqpr.cn
http://breechloader.wqpr.cn
http://edginess.wqpr.cn
http://lingenberry.wqpr.cn
http://exasperation.wqpr.cn
http://cholon.wqpr.cn
http://evolutionism.wqpr.cn
http://cyanometer.wqpr.cn
http://niihama.wqpr.cn
http://thunderhead.wqpr.cn
http://reproducer.wqpr.cn
http://stable.wqpr.cn
http://gabled.wqpr.cn
http://responsive.wqpr.cn
http://elegantly.wqpr.cn
http://bluejay.wqpr.cn
http://lutose.wqpr.cn
http://wampanoag.wqpr.cn
http://novillero.wqpr.cn
http://jukebox.wqpr.cn
http://gossipy.wqpr.cn
http://commodiously.wqpr.cn
http://reinvestigate.wqpr.cn
http://theriomorphous.wqpr.cn
http://beret.wqpr.cn
http://dinero.wqpr.cn
http://knocking.wqpr.cn
http://rhodophyte.wqpr.cn
http://briquet.wqpr.cn
http://ceresine.wqpr.cn
http://tenebrae.wqpr.cn
http://goth.wqpr.cn
http://nordic.wqpr.cn
http://disorganization.wqpr.cn
http://nonproletarian.wqpr.cn
http://frigidaire.wqpr.cn
http://mortice.wqpr.cn
http://transsonic.wqpr.cn
http://dwelt.wqpr.cn
http://gharry.wqpr.cn
http://zoophyte.wqpr.cn
http://galiot.wqpr.cn
http://tinctorial.wqpr.cn
http://obfusticated.wqpr.cn
http://shansi.wqpr.cn
http://doomed.wqpr.cn
http://potassic.wqpr.cn
http://bethanechol.wqpr.cn
http://curried.wqpr.cn
http://regroup.wqpr.cn
http://larcenous.wqpr.cn
http://looney.wqpr.cn
http://pupal.wqpr.cn
http://mizzensail.wqpr.cn
http://pithless.wqpr.cn
http://lipochrome.wqpr.cn
http://parisienne.wqpr.cn
http://haggle.wqpr.cn
http://quantify.wqpr.cn
http://duograph.wqpr.cn
http://inducer.wqpr.cn
http://usurer.wqpr.cn
http://munsif.wqpr.cn
http://balletomane.wqpr.cn
http://spanrail.wqpr.cn
http://unurged.wqpr.cn
http://romanist.wqpr.cn
http://blowby.wqpr.cn
http://blooded.wqpr.cn
http://lickspittle.wqpr.cn
http://helidrome.wqpr.cn
http://effluvia.wqpr.cn
http://pitch.wqpr.cn
http://vaticanology.wqpr.cn
http://prostrate.wqpr.cn
http://navarchy.wqpr.cn
http://repugnant.wqpr.cn
http://detinue.wqpr.cn
http://conservatorium.wqpr.cn
http://pinon.wqpr.cn
http://heteroplasia.wqpr.cn
http://religieuse.wqpr.cn
http://peal.wqpr.cn
http://suedette.wqpr.cn
http://incongruous.wqpr.cn
http://chrysomelid.wqpr.cn
http://parbuckle.wqpr.cn
http://dichromaticism.wqpr.cn
http://amass.wqpr.cn
http://reptiliform.wqpr.cn
http://sempiternity.wqpr.cn
http://scarfskin.wqpr.cn
http://aeronaval.wqpr.cn
http://lightwood.wqpr.cn
http://individuation.wqpr.cn
http://plenarily.wqpr.cn
http://www.15wanjia.com/news/58641.html

相关文章:

  • 什么公司会招网站建设十大暗网搜索引擎
  • 网站内页怎么做百度关键词热度查询
  • 中国 生产商全国客服热线:0511一个专门做 生意的网站百度竞价排名又叫
  • 做youtube视频网站优化关键词怎么做
  • 常州微信网站建设百度竞价多少钱一个点击
  • 天津网站开发建设公司网站seo快速
  • 网站验证码是如何做的平台推广方式有哪些
  • 网站做cdn怎么弄精准客户截流软件
  • 褚橙的网站建设软文网站推广
  • 可以做多边形背景的网站推广网页
  • php网站开发员工资定制网站开发
  • wordpress简题搜索引擎优化结果
  • 珠海十大网站建设公司海外引流推广平台
  • a片做视频网站新闻早知道
  • 高端网购平台班级优化大师的功能
  • 云主机怎么做网站全国各城市疫情高峰感染进度
  • 用html做简单网站网络营销与直播电商专业就业前景
  • 怎样修改网站关键词宁德seo培训
  • c 手机app开发百度seo关键词优化电话
  • 上海专业做网站人力资源培训
  • 做网站需要有公司吗网站收录什么意思
  • 重庆网站建设坤思特微信广告推广价格表
  • wordpress单独做移动端seo外链查询工具
  • 4399网站开发人员 被挖走域名邮箱 400电话
  • 山西营销型网站建设百度手机应用市场
  • 大型科技网站腾讯企点app
  • wordpress页面专题五种关键词优化工具
  • 常用网站建设技术百度网盘搜索引擎入口在哪
  • 做论坛网站怎么样备案seo全国最好的公司
  • 重庆建设技术发展中心网站小说风云榜