栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

查找链表中的最大值

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查找链表中的最大值

使用数组模拟单链表 

题目描述

利用单链表表示一个整数序列,通过一趟遍历在单链表中确定值最大的结点。

输入

多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔)。当n=0时输入结束。

输出

对于每组数据分别输出一行,输出每个链表的最大值。

样例输入 Copy

5
2 1 3 5 4
6
2 3 10 4 5 1
4
-1 -2 -3 -4
0

样例输出 Copy

5
10
-1

源代码

#include 
using namespace std;
const int N = 1000000+10;
int e[N],ne[N],head,idx;
void init()
{
	head=-1;
	idx=0;
}
void add_to_head(int x)
{
	e[idx]=x;
	ne[idx]=head;
	head=idx++;
}
void insert(int x,int k)
{
	e[idx]=x;
	ne[idx]=ne[k];
	ne[k]=idx++;
}
void remove(int k)
{
	ne[k]=ne[ne[k]];
}
int main()
{
	int n;
	while(cin>>n,n!=0)
	{
		init();
		int maxn=-1e9;
		for(int i = 1;i <= n;i ++ )
		{
			int num;
			cin>>num;
			maxn=max(maxn,num);
			if(i==1)add_to_head(num);
			else insert(num,idx-1);
		}
		cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783928.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号