| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:[求助]求最大元素的问题("论坛"进来)
只看楼主 加入收藏
zhengwenqi
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-12
收藏
 问题点数:0 回复次数:3 
[求助]求最大元素的问题("论坛"进来)
线性表中元素存放在向量A(1,2…,n)中,元素是整数型,分别用递归和非递归的方法求出A中最大元素.
搜索更多相关主题的帖子: 元素 
2006-05-21 22:44
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

/* 输入-1时停止输入 */

#include <stdio.h>
#include <conio.h>
#include <limits.h>
#include <stdlib.h>
#define LISTSIZE 5
#define INCREMENT 10

typedef struct
{
int *elem;
int length;
int listsize;
}LinkList;

static void InitialList(LinkList *L);
static void CreateList(LinkList *L);
static void MaxElement(LinkList L);
static void DestroyList(LinkList *L);
static void Function(LinkList L);

int main(void)
{
LinkList L;

InitialList(&L); /* 初始化线性表 */

CreateList(&L); /* 创建线性表 */

MaxElement(L); /* 非递归方式求最大者 */

Function(L); /* 递归方式求最大者 */

DestroyList(&L); /* 销毁线性表 */

getch();
return 0;
}

static void InitialList(LinkList *L)
{
if (((*L).elem = (int*)malloc(sizeof(int) * LISTSIZE)) == NULL)
{
exit(1);
}
(*L).length = 0;
(*L).listsize = LISTSIZE;
}

static void CreateList(LinkList *L)
{
puts("Enter element(-1 quit): ");

while (1)
{
scanf("%d", &(*L).elem[(*L).length++]);

if ((*L).elem[(*L).length - 1] == -1)
{
(*L).length--;
break;
}

if ((*L).length >= (*L).listsize)
{
if (((*L).elem = (int*)realloc((*L).elem, sizeof(int) * ((*L).listsize + INCREMENT))) == NULL)
{
exit(1);
}
(*L).listsize += INCREMENT;
}
}
}

static void MaxElement(LinkList L)
{
int imax, i;

imax = L.elem[0];

for (i = 1; i < L.length; i++)
{
if (L.elem[i] > imax)
{
imax = L.elem[i];
}
}

printf("imax = %d\n", imax);
}

static void Function(LinkList L)
{
static int ia, imax = INT_MAX + 1;

if (ia < L.length)
{
if (L.elem[ia] > imax)
{
imax = L.elem[ia];
}
ia++;
Function(L);
}
else
{
printf("imax = %d\n", imax);
}
}

static void DestroyList(LinkList *L)
{
if ((*L).elem != NULL)
{
free((*L).elem);
}
(*L).length = 0;
(*L).listsize = 0;
}


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-22 00:07
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 
牛!!

奋斗改变一切!!
2006-05-22 15:06
桂圆
Rank: 1
等 级:新手上路
威 望:1
帖 子:101
专家分:0
注 册:2006-5-15
收藏
得分:0 
向论坛学习

2006-05-22 19:53
快速回复:[求助]求最大元素的问题("论坛"进来)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026894 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved