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

母婴行业网站建设聊城正规网站建设公司电话

母婴行业网站建设,聊城正规网站建设公司电话,大庆网能做网站吗,wordpress的翻译文件使用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://www.dtcms.com/wzjs/561085.html

相关文章:

  • 小公司做网站需要注意什么欧洲站vat激活
  • 东莞建网站公司平台wordpress问卷调查
  • 化妆品营销型网站模板下载建筑公司分公司
  • 免费教育网站建设站长工具seo优化
  • 做教育集团的网站建设国外网站拼邮需要怎么做
  • 黄石市下陆区建设管理局网站做网站用的动漫资料
  • 不相关的网站做单项链接可以吗app网站开发公司的logo
  • 中国建设银行官方网站2018年年报wix建站教程
  • 网站推广常用的方法旅游网站开发设计
  • 胶州网站建设案例wordpress批量信息导入工具
  • 网站备案需要拍照网站建设费用核算
  • php网站开发开发网站教程深圳惠州网站建设公司
  • 成都网站建设低价徐州网站建设公司官网
  • 百度seo专业网站贵阳网站建设q479185700惠
  • 广州建设工程造价管理站怎样做网站设计要交税吗
  • 网站建设的目的及功能定位是啥企业邮箱注册申请价格
  • 招聘网站建设与开发要求织梦 去掉我的网站
  • 9377传奇全部游戏seo流量的提升的软件
  • 1元购类似网站架设药多少钱微信5000人接推广费用
  • 怎么给公司做网站flash 网站头部
  • 网站二维码特效包头做网站的公司招聘信息
  • 网站备案到公司即时设计生成网页
  • 优化网站性能宁波互联网企业排名
  • 企业门户网站解决方案制作公司网站的公司
  • 游戏网站开发推广计划书搬瓦工的主机可以用来做网站吗
  • 网站制作一般哪家好湛江网站建设价格
  • 百度经验网站建设常州网上车管所
  • 建设银行门户网站专业网站建设电话
  • 网站制作没有原创图片怎么办湖南建设信息网官网
  • 网站建设风险管理免费网站专业建站