zoukankan      html  css  js  c++  java
  • 归并排序

    现在看题有种感觉:只闻其名,不知其所云.

    比如这个归并.

    来吧来吧不多说了啊啊

     1 #include <iostream>
     2 #include <set>
     3 #include <cstring>
     4 
     5 using namespace std;
     6 int a[10]={1,2,6,3,4,7,8,9,5,10};
     7 int b[100];
     8 void Merge(int a[],int s,int m,int e,int temp[]){
     9     int pa=s;
    10     int pb=m+1;
    11     int t=0;
    12     while(pa<=m && pb<=e){
    13         if(a[pa]>a[pb]){
    14             temp[t++]=a[pa++];
    15         }
    16         else{
    17             temp[t++]=a[pb++];
    18 
    19         }
    20 
    21     }
    22     while(pa<=m){
    23         temp[t++]=a[pa++];
    24     }
    25     while(pb<=e){
    26         temp[t++]=a[pb++];
    27 
    28     }
    29     for (int i = 0; i <= e-s; ++i) {
    30         a[s+i]=temp[i];
    31 
    32     }
    33 
    34 }
    35 void Mergesort(int a[],int s,int e,int temp[]){
    36     if(s<e){
    37         int m=s+(e-s)/2;
    38         Mergesort(a,s,m,temp);
    39         Mergesort(a,m+1,e,temp);
    40         Merge(a,s,m,e,temp);
    41 
    42     }
    43 
    44 }
    45 int main(){
    46     int size=sizeof(a)/sizeof(int);
    47     Mergesort(a,0,size-1,b);//别落了这个减一
    48     for (int i = 0; i < size; ++i) {
    49         cout<<a[i]<<" ";
    50 
    51     }
    52 }

    一开始while 写错了条件QAQ

    就是乖乖写小于就好,不要写!=

    while其实就是没有人家for用的熟练

  • 相关阅读:
    回流和重绘
    php 异常捕获的坑
    每周散记 20180806
    转: Linux mount/unmount命令
    python http 请求 响应 post表单提交
    每周散记 20180723
    优惠劵产品分析
    c++ 软件版本比较函数
    每周散记
    转: 系统问题排查思路
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/13276658.html
Copyright © 2011-2022 走看看