设计算法,通过一趟遍历在单链表中确定值最大的结点
#include <iostream>
#define overflow -2
#define ok 1
#define error 0
using namespace std;
typedef int status;
typedef int ElemType;
//定义
typedef struct LNode
{
ElemType data; //数据域
struct LNode *next; //指针域
}LNode , *LinkList;
//初始化
status InitList(LinkList &LA)
{
LA = new LNode; //生成一个新结点
LA->next = NULL; //结点指针域置空
return ok;
}
//创建一个长度为n的单链表
status CreatList_R(LinkList &LA, int n)
{
LNode *r = LA; //尾指针初始化指向头结点
for (int i = 0; i < n; i++)
{
LNode *p = new LNode; //生成新结点
cin >> p->data; //输入的数据存放在新结点的数据域
r->next = p;
p->next = NULL;
r = p;
}
return ok;
}
//输出
int DispList(LinkList L)
{
LNode *p = L->next;
while (p)
{
cout << p->data << '
数据结构第二章课后习题第六题(求最大结点值)
最新推荐文章于 2024-08-15 21:07:27 发布
本文详细解析了数据结构第二章课后习题的第六题,主要探讨如何在各种数据结构中有效地找到最大节点值,涵盖了数组、链表、堆等常见数据结构的解题思路和算法实现。
摘要由CSDN通过智能技术生成