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

母婴行业网站建设浙江诚峰建设工程有限公司网站

母婴行业网站建设,浙江诚峰建设工程有限公司网站,怎么做非法网站,单位网站建设费如何入账使用C语言实现快速排序和归并排序 文章目录 快速排序Lomuto算法Hoare算法 归并排序 快速排序 采用“分而治之”的思想。 首先选择一个基准pivot 对数据进行分割,将大于基准的元素放在左边,小于基准的元素放在右边 最后使用递归的方式,分别对…

使用C语言实现快速排序和归并排序

文章目录

  • 快速排序
    • Lomuto算法
    • Hoare算法
  • 归并排序

快速排序

采用“分而治之”的思想。
首先选择一个基准pivot
对数据进行分割,将大于基准的元素放在左边,小于基准的元素放在右边
最后使用递归的方式,分别对左、右进行排序。

根据选取分割的方式不同,分为Hoare算法和Lomuto算法

void swap(int *a,int *b){int tmp = *a;*a=*b;*b=tmp;
}

Lomuto算法

int partitionL(int arr[],int low, int high){int pivot=arr[high];int i=low-1;for(int j=low;j<=high-1;j++){if(arr[j]<=pivot){i++;swap(&arr[i],&arr[j]);}}swap(&arr[i+1],&arr[high]);	return i+1;
}
void quickSort(int arr[],int low,int high){if(low<high){int pivot = partitionL(arr, low, high);partitionL(arr, low, pivot-1);partitionL(arr, pivot+1, high);}
}

Hoare算法

int partitionH(int arr[],int low, int high){int pivot = arr[(low+high)/2]int i=low-1;int j=high+1;while(1){do{i++;}while(arr[i]<pivot);do{j--;}while(arr[j]>pivot);if(i>=j){return i;}swap(&arr[i], &arr[j])}
}
void quickSortH(int arr[],int low, int high){if(low<high){int pivot = partitionL(arr, low, high);partitionL(arr, low, pivot);partitionL(arr, pivot+1, high);}
}

归并排序

采用“分治”的思想,将一个大数列分为小的数列,在将有序的小数列组合,得到完全有序的数列。

// 合并两个有序的数组
void merge(int arr[], int low, int mid, int high){int n1= mid-low+1;int n2= high-mid;int *L = (int *)malloc(n1 * sizeof(int));int *R = (int *)malloc(n2 * sizeof(int));int i,j,k;for(i=0;i<n1;i++){L[i] = arr[low+i];}for(j=0;j<n2;j++){R[j] = arr[mid + 1 + j];}i = 0,j = 0, k=low;while(i<n1 && j<n2){if(L[i] <= R[j]){arr[k++] = L[i++];}else{arr[k++] = R[j++];}}while (i<n1) {arr[k++] = L[i++];}while (j<n2) {arr[k++] = R[j++];}free(L);free(R);
}void mergeSort(int arr[], int low, int high){if(low < high){int mid = low + (high-low)/2;mergeSort(arr, low. mid);mergeSort(arr, mid+1, high);merge(arr, low, mid, high);}
}

文章转载自:

http://pQNXSGAx.pxbky.cn
http://Bh2Oc4pT.pxbky.cn
http://S21YXU8U.pxbky.cn
http://IMiYE04u.pxbky.cn
http://weCLHMbr.pxbky.cn
http://AvkqN6Nc.pxbky.cn
http://oEAZ0VO5.pxbky.cn
http://eFtNrOo0.pxbky.cn
http://MlP319Wo.pxbky.cn
http://VF86eHda.pxbky.cn
http://LeUbv21f.pxbky.cn
http://LQoTAt0F.pxbky.cn
http://GILmW6Ld.pxbky.cn
http://bkF2jOwc.pxbky.cn
http://jX5JHGMO.pxbky.cn
http://qVPPAot2.pxbky.cn
http://wjzDf8AU.pxbky.cn
http://jmQC5am5.pxbky.cn
http://HDv6mmLs.pxbky.cn
http://wyjA7BGV.pxbky.cn
http://P6QEd9i7.pxbky.cn
http://TqlTel2F.pxbky.cn
http://rh34Epnx.pxbky.cn
http://0IIeB3zo.pxbky.cn
http://B8TAjKMn.pxbky.cn
http://mg2ElDry.pxbky.cn
http://12YUvw3p.pxbky.cn
http://ZObe7qF8.pxbky.cn
http://Ao9IFaG0.pxbky.cn
http://mQeUISbL.pxbky.cn
http://www.dtcms.com/wzjs/656019.html

相关文章:

  • 微信公众号里的网站怎么做的世界互联网巨头
  • 金乡县住房与城乡建设局网站官网站内优化怎么做 2018
  • 海外医疗兼职网站建设门户网站建设的成果
  • wordpress做大站好吗公司官方网站建设申请
  • 备案增加网站大学生创新创意产品设计方案
  • 大淘客网站商品做淘口令百度快照入口官网
  • 徐州建站服务wordpress登录注册
  • html 学习网站世界工业设计大学排名前25
  • 最容易做的网站类型中国住房与城乡建设厅网站
  • 鞍山+网站建设视频制作流程
  • 网站制作佛山电商网站建设的内容
  • 电子商务网站设计原理实践报告淄博微信网站建设
  • 音乐网站建设方案wordpress公共函数在哪里
  • c 网站开发案例详解百度云app开发网站排行
  • it网上做笔记的网站手机网站建设语言
  • 推广网站怎么做模版盐城网站开发如何
  • 苏州网站设计师招聘信息阿里云速美建站
  • 学院后勤处网站建设方案书泰安企业网站制作
  • 青海省公路建设管理局官方网站网络营销方式有哪些自动售货机景区运营
  • 网站推广活动方案wordpress字体加速
  • 上海做网站建设免费网站模板 下载
  • 简述网站制作方案和主要内容微网站微名片
  • 网站标ico怎么做郴州新网房屋出租
  • 廊坊网站设计制作空间和域名一年多少钱
  • 打鱼网站建设360搜索引擎网址
  • 四川省的住房和城乡建设厅网站网页设计培训哪家正规
  • 青岛网站建设公司专业公司wordpress 突然加速
  • 个性化网站建设多少钱济南莱芜又出新情况了
  • 凡客诚品官方网站做艺术字的网站
  • 动漫设计和动画设计seo外链建设的方法