分治-归并排序1
来源:互联网 发布:超图软件股吧 编辑:程序博客网 时间:2024/05/17 00:13
#include<stdio.h>int L[100],R[100];void merge(int numbers[],int left,int mid,int right){ int n1=mid-left+1; int n2=right-mid; int i,j,k; for(i=1;i<=n1;i++)L[i]=numbers[left+i-1]; for(j=1;j<=n2;j++) R[j]=numbers[mid+j]; L[n1+1]=99999; R[n2+1]=99999; i=1; j=1; for(k=left;k<=right;k++) if(L[i]<=R[j]){ numbers[k]=L[i]; i++;} else{numbers[k]=R[j];j++;}printf("left is %d right is %d \n",left,right);for(i=0;i<8;i++){ printf( "inline_40 number[i] is %d\n",numbers[i]);}}void mergeSort(int numbers[],int left,int right){printf("left is %d\n",left);printf("right is %d\n",right); if(left <right){ int mid; mid=(right+left)/2; mergeSort(numbers,left,mid); mergeSort(numbers,mid+1,right); merge(numbers,left,mid,right);}}int main(void){int numbers[]={5,2,4,6,1,3,22,36};int i=0;mergeSort(numbers,0,7);for( i=0;i<8;i++) printf("%d ",numbers[i]);return 0;}使用2个 正无穷的哨兵元素
0 0
- 分治-归并排序1
- 分治法之归并排序1
- 2.3.1-分治法-归并排序
- 分治法,归并排序
- 分治-归并排序
- 分治法-归并排序
- 分治法-归并排序
- 归并排序-分治法
- 归并排序 分治+递归
- 归并排序,分治思想
- 分治(归并排序)
- 分治思想 归并排序
- 归并排序(分治)
- 分治算法--归并排序
- 分治法 - 归并排序
- 分治归并排序2
- 分治法--归并排序
- 归并排序 分治法
- 专利申请--权利要求书vs说明书
- 分支结构 -- 2015/09/23
- 纯虚函数
- 使用wireshark进行EtherCAT分析实时性~~·
- C++基础复习-----2(const 与static)
- 分治-归并排序1
- 聊天室可以相互交流
- MySQL日期字符串转换成NULL值的异常处理
- jquery实现ul列表中点击li选择radio
- 如何成为一名卓越的前端工程师
- 数据库的事务,事务的特性以及回滚
- 培训第二天
- c++基础复习-----3(位运算)
- Android中dp,px,sp概念梳理以及如何做到屏幕适配