什么是未定义的引用此程序中的mergesort函数错误

什么是未定义的引用此程序中的mergesort函数错误

本文介绍了什么是未定义的引用此程序中的mergesort函数错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#include<stdio.h>
#include<stdlib.h>
void merge(int left[],int right[],int a[],int half);
void mergesort(int a[],int n);
int main()
{
    int a[6]={3,4,8,1,2,4}; int i;
    mergesort(a,6);
    for(i=0;i<6;i++)
        printf("%d\t",a[i]);

    return 0;
}
void merge(int left[],int right[],int a[],int half)
{
    int i=0,j=0,k=0;
    while(i<half&&j<half)
    {
        if(left[i]<right[j])
        {
          a[k]=left[i];
          i++;
        }
        if(right[j]<left[i])
        {
            a[k]=right[j];
            j++;
        }
    }
    if(i==half)
    {
        for(j=j;j<half;j++)
        {
            a[k]=right[j];
            k++;
        }
    }
    if(j==half)
    {
        for(i=i;i<half;i++)
        {
            a[k]=left[i];
            k++;
        }
    }

void mergesort(int a[],int n)
{
    int half=n/2,i;
    int left[half];
    int right[half];
    for(i=0;i<half;i++)
        left[i]=a[i];
    for(i=0;i<half;i++)
        right[i]=a[i];
    mergesort(left,half);
    mergesort(right,half);
    merge(left,right,a,half);
}
}

推荐答案



这篇关于什么是未定义的引用此程序中的mergesort函数错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 22:16