设为首页 加入收藏

TOP

c++实现算法导论,归并排序
2017-12-15 12:34:04 】 浏览:234
Tags:实现 算法 导论 归并 排序

假设桌上有两堆牌面朝上的牌,每堆都已排序,最小的牌在顶上。我们希望把这两堆牌合并成单一的排好序的输出堆,牌面朝下地放在桌上。我们的基本步骤包括在牌面朝上的两堆牌的顶上两张牌中选取较小的一张,将该牌从其堆中移开(该堆的顶上将显露一张新牌)并牌面朝下地将该牌放置到输出堆。

归并排序相关文字资料网上较多,在此不再叙述。

cpp代码

#include
  
   
using namespace std;

void merge(int num[],int beg,int mid,int end);
void mergeSort(int num[],int beg,int end);

int main()
{

    int data[] = {3,6,7,2,1,4,5,9,8};
    int length = 9;
    cout << "before sorted:" << endl;
    for(int i = 0;i < length;++i)
        cout << data[i] << "  ";
    cout << endl;
    cout << "after sorted:" << endl;
    mergeSort(data,0,length-1);
    for(int i = 0;i < length;++i)
        cout << data[i] << "  ";
    cout << endl;

    return 0;

}

void merge(int num[],int beg,int mid,int end)
{
  int temp[10];
  int t=beg;
  int i=beg,j=mid+1;
  while(i<=mid&&j<=end)
  {
    if(num[i]
    
   
  
运行结果

\

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++关机大法(代码教程) 下一篇More Effective c++ 28. Smart Po..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目