赞
踩
算法:
- int maxLinkNode(LinkNode L,int max){
- if(L==NULL) //结束标志,如果L指向的当前结点为NULL,则返回最大值max
- return max;
- if(L->data>max){ //如果当前结点的整数大于max
- max=L->data; //就将当前结点的整数赋值给max
- return maxLinkNode(L->next,max);
- /*调用自身,并传入下一个结点的地址和当前最大值,进行递归*/
- }else{
- return maxLinkNode(L->next, max);
- /*如果当前结点的值不大于Max,调用自身,并传入下一个结点的地址和当前最大值,进行递归*/
- }
- }
测试:
- #include<stdio.h>
- typedef struct Node{
- int data;
- struct Node *next;
- }Node,*LinkNode;
- int maxLinkNode(LinkNode L,int max);
- int main(){
- LinkNode L;
- L=(LinkNode)malloc(sizeof(Node));
- L->next=NULL;
- int n;
- scanf("%d",&n);
- for(int i=0;i<n;i++){
- LinkNode p;
- p=(LinkNode)malloc(sizeof(Node));
- scanf("%d",&p->data);
- p->next=L->next;
- L->next=p;
- }
- int max=-3333;
- max=maxLinkNode(L->next,max);
- printf("%d",max);
- }
- int maxLinkNode(LinkNode L,int max){
- if(L==NULL)
- return max;
- if(L->data>max){
- max=L->data;
- return maxLinkNode(L->next,max);
- }else{
- return maxLinkNode(L->next, max);
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。