《数据结构》-Chapter8-南京大学考研初试基本代码题

求数组中的最大值

public static int findMax(int[] a, int n) {
    //n表示n个元素,它们在数组a中
    if (n = =1) {
        return a[0];
    } else {
        int temp = findMax(a, n - 1);
        return temp > a[n - 1] ? temp: a[n - 1];
    }
}

int GetMaxInt(ListNode f) {
    if (f.link = =NULL) return f.data;
    else {
        int i = GetMaxInt(f.link);
        if (i > f.data) return i;
        else return f.data;
    }
}

求数组元素的平均值

float average( int a[],int n)
{  if(n = = 1)
        return a[0];
  else
      return (average(a,n-1)*(n-1)+a[n-1])/n;
}
如果用链表:
float Average( ListNode f, int n )
{   if( f.link = = NULL ) return f.data;
     else return ( Average ( f.link, n-1 ) * ( n-1 ) + f.data ) / n;
}

// 初始值 low=0, high=a.length
int max(int [] a, int low, int high) {
    if(low==high)
        return a[low];
    else {
        int x = max(a, low, (low+high)/2);
        int y = max(a, (low+high)/2+1, high);
        return x > y ? x : y;
    }
}
发布了51 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/m0_37302219/article/details/104308988