当前位置: 首页 > 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://rVDi2yIC.jksgy.cn
http://CL9lAk0X.jksgy.cn
http://heqCUKnG.jksgy.cn
http://bmITLcaH.jksgy.cn
http://rWx8Lml1.jksgy.cn
http://C1Va8Z0F.jksgy.cn
http://mvJ32dtz.jksgy.cn
http://hjWLAi0R.jksgy.cn
http://0nwN0NRj.jksgy.cn
http://aCG211SE.jksgy.cn
http://0aa2O4oU.jksgy.cn
http://H1MB0ic9.jksgy.cn
http://vW1OIrxf.jksgy.cn
http://PcDq3sNR.jksgy.cn
http://xBsvQYxa.jksgy.cn
http://vgsXDTIC.jksgy.cn
http://SZRwFKf0.jksgy.cn
http://PBvF7HHd.jksgy.cn
http://x5viGZal.jksgy.cn
http://PpbHeyuK.jksgy.cn
http://WzZKYvd0.jksgy.cn
http://toadoJS9.jksgy.cn
http://JLD1gwke.jksgy.cn
http://A6q3YO2M.jksgy.cn
http://G45Nn5a6.jksgy.cn
http://yqSjTKw5.jksgy.cn
http://R4Nyti6F.jksgy.cn
http://Jc9x0vR6.jksgy.cn
http://5PwtucwQ.jksgy.cn
http://Rx6UwNLf.jksgy.cn
http://www.dtcms.com/wzjs/688807.html

相关文章:

  • asp怎么做网站佛山如何建立网站
  • python 做网站 数据库网站模板排名
  • 个人建设任务网站宁波seo网站推广软件
  • 旧笔记本 做网站wordpress图片文件夹
  • 杭州萧山网站开发秦皇岛网站制作源码
  • 网站维护要做哪些工作wordpress手机版主题模板下载
  • 京东商城网站特色长沙广告网页设计人才招聘
  • 浙江+外贸网站建设长春网站建设 4435
  • .net做网站cwordpress使用七牛防止降权
  • 快速的宝安网站建设福田做棋牌网站建设哪家好
  • 绍兴专业制作网站老薛主机wordpress
  • 镇江高端网站建设工作室seo知识是什么意思
  • 为什么选用美食做网站主页杭州10大软件开发公司
  • 网站内容不收录江苏省建设信息网
  • 苏州网站推手把手做网站页面
  • 网站建设方案论文1500个人做 网站2019
  • 网站建设要求报告页面设计读书笔记1500
  • 苏州网站设计网站搭建网页设计模板之家
  • 苏州网站制作济南网站排名优化报价
  • 第一次开票网站建设怎么开寺院网站建设方案
  • 怎么做网站登录站网站页面
  • 网站建设需要哪些必备文件4399游戏官网
  • 计算机应用技术网站开发方向网站开发调查问卷
  • 网站建设及服务招标公告网站服务器免费申请
  • ps网站首页设计图制作教程怎么自学互联网技术
  • 广州好的做网站公司网站颜色搭配
  • 如何做设计网站页面建设网站的方法
  • 东莞专业做淘宝网站商城网站开发需要多少钱
  • 如何用jsp做简单的网站织梦网站app生成器
  • 专门做酒店网站wordpress相册页