首页 > 编程 > C++ > 正文

C++实现合并排序的方法

2020-05-23 14:16:33
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C++实现合并排序的方法,实例分析了合并排序的原理与相关实现技巧,需要的朋友可以参考下

本文实例讲述了C++实现合并排序的方法。分享给大家供大家参考。具体如下:

 

 
  1. //合并排序  
  2. #include<iostream> 
  3. #include<cmath> 
  4. using namespace std; 
  5. int num[100]; 
  6. void print(int num[],int len) 
  7. for(int i=0;i<len;i++) 
  8. cout<<num[i]<<" "
  9. }  
  10. cout<<endl; 
  11. void merge(int num[],int beg,int mid,int end) 
  12. int temp[100]; 
  13. int t=beg; 
  14. int i=beg,j=mid+1; 
  15. while(i<=mid&&j<=end) 
  16. if(num[i]<num[j])  
  17. temp[t++]=num[i++]; 
  18. else 
  19. temp[t++]=num[j++]; 
  20. while(i<=mid) 
  21. temp[t++]=num[i++]; 
  22. while(j<=end) 
  23. temp[t++]=num[j++]; 
  24. for(int i=beg;i<=end;i++) 
  25. num[i]=temp[i]; 
  26. void mergeSort(int num[],int beg,int end) 
  27. if(beg==end) 
  28. return
  29. int mid=(beg+end)/2; 
  30. mergeSort(num,beg,mid); 
  31. mergeSort(num,mid+1,end); 
  32. merge(num,beg,mid,end);  
  33. int main() 
  34. int len; 
  35. while(cin>>len) 
  36. for(int i=0;i<len;i++) 
  37. cin>>num[i]; 
  38. mergeSort(num,0,len-1); 
  39. print(num,len); 
  40. return 0; 

希望本文所述对大家的C++程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表