链表如何求最大值???

bunnyduckling 2012-03-12 02:48:45
思想不会。。。
在线等。。。
...全文
685 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
设置一个Max记录当前最大值,然后就从链表的Head头指针向后查找,如果比Max大,更新Max
直到链表的最后一个节点,到Null为止
JackBurd 2012-03-15
  • 打赏
  • 举报
回复
7L 正解,其实方法和数组是一样的。
追求执着 2012-03-13
  • 打赏
  • 举报
回复
很多方法吧,二分查找、快速查找等
不过前提是你要知道这些算法!!!
qixing1115 2012-03-13
  • 打赏
  • 举报
回复
跟数组一样,便历
DyanWang 2012-03-13
  • 打赏
  • 举报
回复
直接遍历链表,再分配一个空间max,最初的值等于链表首节点的值,依次比较,将大的存入max中,等链表遍历结束时,max存得就是最大的值

max = head->data;
p = head->next;
while(p)
{
if(p->data > max)
max = p->data;
p=p->next;
}
oldm4n 2012-03-12
  • 打赏
  • 举报
回复
从链头开始,值比后一个节点大就交换,直到链尾为止,然后再从链头开始,做N遍(N为数据节点数)
bunnyduckling 2012-03-12
  • 打赏
  • 举报
回复
请问,用链表实现冒泡排序会么?
最大值已经解决了。。。
冒泡排序不会了。。。
[Quote=引用 2 楼 focuslight 的回复:]

typedef struct NODE
{
int e;
struct NODE *next;
}node, *LinkList;
建立后

int search(LinkList head)
{
int max=0;
LinkList r=head;
while (r!=NULL)
{ ……
[/Quote]
吾子墨鸿 2012-03-12
  • 打赏
  • 举报
回复
这个应该比较简单吧!设置一个临时变量,遍历一遍链表,找到有比临时变量大的就替换临时变量的值,遍历完毕临时变量的值就是最大值了!
Isnis-fallen 2012-03-12
  • 打赏
  • 举报
回复
typedef struct NODE
{
int e;
struct NODE *next;
}node, *LinkList;
建立后

int search(LinkList head)
{
int max=0;
LinkList r=head;
while (r!=NULL)
{
if (r->e > max)
{
max=r->e;
}
r=r->next;
}
return max;
}
JoeBlackzqq 2012-03-12
  • 打赏
  • 举报
回复
1. 会遍历链表
2. 会值比较
3. 会看书

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧