首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >单链表找最大值

单链表找最大值

作者头像
川川菜鸟
发布2021-10-18 16:32:55
发布2021-10-18 16:32:55
7410
举报
代码语言:javascript
复制
//群:970353786
#include
using namespace std;
typedef struct LNode    //定义结构
{
    int data;   //数据
    struct LNode* next;     //指针
}LNode, * LinkList;
void InitList(LinkList& L, int n)        //创建链表
{
    L = new LNode;			//分配内存
    L->next = NULL;			//处理指针域
    LinkList p = L;			//p指向尾结点

    while (n--)				//尾插法
    {
        LinkList q = new LNode;   	//生成新结点        
        cin >> q->data;        		//输入数据
        q->next = NULL;			//处理指针域
        p->next = q;    			//将结点q插在结点p后面
        p = q;				//更新指针p,指向新的尾结点q
    }
}

int Max(LinkList L)        		//L指向首元结点,递归求解最大值
{
    if (L->next == NULL)  //若下一个结点为空,则最大值就是本身
        return L->data;
    else
        return L->next->data > Max(L->next) ? L->next->data : Max(L->next);//两两比较找最大值1 2 5 4
}
int main()
{
    int n;
    cout << "请输入数据个数:";
    while (cin >> n && n !='n')//当n=0时输入结束。
    {
        LinkList L;        		//定义LinkList类型的链表L
        cout << "请输入不同大小的数据:";
        InitList(L, n);    		//创建链表L
       // cout << "最大值序号为:";
       // cout << next;
        cout << "最大值为:";
        cout << Max(L) << endl;    	//递归求解最大值
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档