精华内容
下载资源
问答
  • 已知first为单链表表头指针,链表中储存都是整型数据,写出下列运算递归算法: (1)求链表中的最大整数。 (2)求链表结点个。 (3)求链表中所有元素平均值。 源代码: #include<stdio.h> #...

    已知first为单链表的表头指针,链表中储存的都是整型数据,写出下列运算的递归算法:
    (1)求链表中的最大整数。
    (2)求链表的结点个数。
    (3)求链表中所有元素的平均值。
    在这里插入图片描述
    源代码:

    #include<stdio.h>
    #include<stdlib.h>
    #define MAXSIZE 100
    #define OK 1
    #define ERROR 0
    typedef int ElemType;
    typedef int Status;
    //定义线性表
    typedef struct LNode
    {
    	ElemType data;
    	struct LNode *next;
    } LNode,*LinkList;
    // 初始化
    Status InitList (LinkList &L)
    {
    	L=new LNode;
    	L->next=NULL;
    	return OK;
    }
    //链表的取值
    Status AssigList(LinkList &L)
    {
    	LinkList p,t;
    	p=L;
    	int e,i,n=0;
    	printf("请说明要插入几个元素\n");
    	scanf("%d",&i);
    	printf("请说明要输入的值:");
    	while(1)
    	{
    		scanf("%d",&e);
    		t=new LNode;
    		t->data=e;
    		t->next=NULL;
    		p->next=t;
    		p=t;
    		n++;
    		if(n==i)
    			break;
    	}
    	return OK;
    }
    //取最大值
    Status MAX(LinkList &L)
    {
    	int a;
    	if(!L->next)
    		return L->data;
    	a=MAX(L->next);
    	return a>=L->data?a:L->data;
    }
    //求结点
    Status Length(LinkList &L)
    {
    	if(!L->next)
    		return 1;
    	else
    		return Length(L->next)+1;
    }
    //求平均值
    float Average(LinkList &L,int n)
    {
    	float b;
    	if(!L->next)
    		return L->data;
    	else
    	{
    		b=Average(L->next,n-1);
    		return (b*(n-1)+L->data)/n;
    	}
    }
    int main()
    {
    	int a,n;
    	float b;
    	LinkList L;
    	InitList(L);
    	AssigList(L);
    	a=MAX(L->next);
    	printf("输入的最大数是:%d\n",a);
    	a=Length(L->next);
    	n=a;
    	printf("结点的个数为:%d\n",a);
    	b=Average(L->next,n);
    	printf("所有元素的平均值为:%f\n",b);
    	return 0;
    }
    
    
    展开全文
  • 已知 first 为单链表表头指针,链表中存储都是整型数据,试写出实现下列运算递归算法: (1)求链表中的最大整数: (2)求链表结点个。 (3)求链表中所有元素平均值。 运行截图: #include<stdio....

    已知 first 为单链表的表头指针,链表中存储的都是整型数据,试写出实现下列运算的递归算法:

    (1)求链表中的最大整数:

    (2)求链表的结点个数。

    (3)求链表中所有元素的平均值。

    运行截图:
    在这里插入图片描述

    #include<stdio.h>
    #include<stdlib.h>
    #define MAXSIZE 100
    #define OK 1
    #define ERROR -1
    #define OVERFLOW -2
    typedef int status;
    typedef int ElemType;
    typedef struct LNode
    {
    	ElemType data;
    	struct LNode *next;
    }LNode,*LinkList;
    status InitList (LinkList  &L)
    {
    	L = new LNode;
    	L->next = NULL;
    	return OK;
    }
    status AssigList(LinkList &L)
    {
    	LinkList p,t;
    	p = L;
    	int e = 1;
    	printf("请输入要插入的值以00结束:");
    	while(e)
    	{
    		scanf("%d",&e);
    		if(e == 00)
    			break;
    		t = new LNode;
    		t ->data = e;
    		t ->next = NULL;
    		p->next = t;
    		p = t;
    	}
    	return OK;
    
    }
    status Max(LinkList &L)
    {
    	int m;
    	if(!L->next)
    		return L->data;
    	
    	m = Max(L->next);
    	return m >= L->data?m:L->data;
    	
    }
    status Length(LinkList &L)
    {
    	if(!L->next)
    		return 1;
    	else 
    		return Length(L->next)+1;
    }
    double Average(LinkList &L,int n)
    {
    	double a;
    	if(!L->next)
    		return L->data;
    	else 
    	{
    		a = Average(L->next,n-1);
    		return (a*(n-1)+L->data)/n;
    	}
    }
    int main()
    {
    	int m,n;
    	double a;
    	LinkList L;
    	InitList(L);
    	AssigList(L);
    	m = Max(L->next);
    	printf("最大值是:%d\n",m);
    	m = Length(L->next);
    	n = m;
    	printf("结点个数:%d\n",m);
    	a = Average(L->next,n);
    	printf("平均值为:%f\n",a);
    	return 0;
    }
    
    	
    
    展开全文
  • 已知head为单链表表头指针,链表中存储都是整形数据,实现下列运算递归算法: (1)求链表中的最大值。 (2)求链表中结点个。 (3)求所有整数平均值。
  • 虚拟存储的容量受到下列哪一个因素的限制影响最大? ...正确答案: B 你的答案: B (正确) ...本题问的是影响最大的因素,所以选内存大小。如果是有影响的因素,则有内存大小,外存大小,计算机寻址位数。

    虚拟存储的容量受到下列哪一个因素的限制影响最大?

    正确答案: B   你的答案: B (正确)

    磁盘空间大小
    物理内存大小
    数据存放的实际地址
    计算机地址位数


    本题问的是影响最大的因素,所以选内存大小。如果是有影响的因素,则有内存大小,外存大小,计算机寻址位数。


    根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好像计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。
    虚拟存储(Storage Virtualization)是指将多个不同类型、独立存在的物理存储体,通过软、硬件技术,集成转化为一个逻辑上的虚拟的存储单元,集中管理供用户统一使用。这个虚拟逻辑存储单元的存储容量是它所集中管理的各物理存储体的存储量的总和,而它具有的访问带宽则在一定程度上接近各个物理存储体的访问带宽之和。
    通俗的说就是为了在内存空间中运行超过内存容量的作业,操作系统把当前使用的部分留在内存,而把其他部分保存在磁盘,并在需要时在内存和磁盘之间动态交换。 

           虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的"虚拟内存";Linux的"交换空间"等。

    虚存容量不是无限的,最大容量受内存和外存可利用的总容量限制 , 虚存搜索实际容量受计算机总线地址结构限制。


    展开全文
  • 已知L为不带表头结点单链表表头指针(L非空),链表中存储都是整型数据,写出实现下列运算递归算法。 (1)求链表中的最大整数 (2)求链表中结点个 (3)求所有整数平均值 分析 使用递归方法...

    题目

    已知L为不带表头结点的单链表的表头指针(L非空),链表中存储的都是整型数据,写出实现下列运算的递归算法。

    (1)求链表中的最大整数

    (2)求链表中的结点个数

    (3)求所有整数的平均值

    分析

    使用递归的方法。

    代码

    核心代码:

    /* 求链表中的最大整数 */
    int getMax(LNode *L) {
    	if(L->next==NULL) { // 链表中仅一个结点
    		return L->data; // 其值即为所求
    	}
    	int temp=getMax(L->next);// 递归求后继结点的最大值
    	if(L->data>temp) { // 再与首元结点相比较,取大值
    		return L->data;
    	} else {
    		return temp;
    	}
    }
    
    /* 求链表中的结点个数 */
    int getNum(LNode *L) {
    	if(L->next==NULL) { // 链表仅有一个结点
    		return 1;
    	}
    	return 1+getNum(L->next);// 否则求后继链表结点数再加1
    }
    
    /* 求所有整数的平均值 */
    float getAvg(LNode *L,int n) {
    	if(L->next==NULL) { // 链表仅有一个结点
    		return (float)(L->data);// 其值即为所求
    	} else {
    		float sum=getAvg(L->next,n-1)*(n-1);// 求后面n-1各结点值的和
    		return (float)(L->data+sum)/n;// 然后加上首结点的值求平均值
    	}
    }

    完整代码:

    #include <stdio.h>
    #include <stdlib.h>
    // 声明单链表结构体
    struct LNode {
    	int data;
    	struct LNode *next;
    };
    
    /* 通过用户输入数据创建一个单链表,由用户输入整型测试数据 */
    /* 返回一个单链表 */
    LNode * createList() {
    	LNode *head;
    	LNode *p1,*p2;
    	p1=p2=(LNode *)malloc(sizeof(LNode));
    	head=(LNode *)malloc(sizeof(LNode));
    	scanf("%ld",&p1->data);
    	int i=0;
    	while(p1->data!=0) { // 当用户在控制台输入0时结束循环
    		i+=1;
    		if(i==1) {
    			head=p1;
    		} else {
    			p2->next=p1;
    		}
    		p2=p1;
    		p1=(LNode *)malloc(sizeof(LNode));
    		scanf("%ld",&p1->data);
    	}
    	p2->next=NULL;
    	return head;
    }
    
    /* 打印单链表 */
    /* *list指的是要被打印输出的单链表 */
    void printList(LNode *list) {
    	LNode *temp=list->next;// 单链表的开始结点
    	printf("\n");
    	while(temp!=NULL) { // 循环单链表
    		printf("%ld\t",temp->data); // 打印单链表中的data数据
    		temp=temp->next; // 遍历至下一个结点
    	}
    	printf("\n"); // 换行
    }
    
    /* 求链表中的最大整数 */
    int getMax(LNode *L) {
    	if(L->next==NULL) { // 链表中仅一个结点
    		return L->data; // 其值即为所求
    	}
    	int temp=getMax(L->next);// 递归求后继结点的最大值
    	if(L->data>temp) { // 再与首元结点相比较,取大值
    		return L->data;
    	} else {
    		return temp;
    	}
    }
    
    /* 求链表中的结点个数 */
    int getNum(LNode *L) {
    	if(L->next==NULL) { // 链表仅有一个结点
    		return 1;
    	}
    	return 1+getNum(L->next);// 否则求后继链表结点数再加1
    }
    
    /* 求所有整数的平均值 */
    float getAvg(LNode *L,int n) {
    	if(L->next==NULL) { // 链表仅有一个结点
    		return (float)(L->data);// 其值即为所求
    	} else {
    		float sum=getAvg(L->next,n-1)*(n-1);// 求后面n-1各结点值的和
    		return (float)(L->data+sum)/n;// 然后加上首结点的值求平均值
    	}
    }
    
    int main() {
    	/* [0.]创建初始测试单链表 */
    	LNode *list;
    	list=createList();// 创建测试链表
    	printList(list);// 打印单链表
    
    	printf("最大值:%d\n",getMax(list));
    	printf("结点个数:%d\n",getNum(list));
    	printf("平均值:%2.f\n",getAvg(list,getNum(list)));
    
    	return 0;
    }

    运行结果:

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 给定两个正整数 x, y 计算满足下列要求 a, b 个: a, b 为正整数 a, b 的最大公约数是 x a, b 最小公倍数是 y 输入 第一个数据n 接下来 n 行,每行 2 个整数 x, y 其中 2 ≤ x ≤ y < 105 输出...
  • 下面代码执行结果是 : ( ) a = 10.99 print( complex(a))numpy 中求最大值方法是: ( )下面代码输出结果是 : ( ) vlist = list( range(5)) print( vlist)计算numpy中元素个数的方法是: ( ...
  • 下标从1开始,在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在()位置上 首先要明白:中括号取整,就是不大于这个的最大整数 第二要看清下标是从1开始的。那么 1 2 3 4 5 6 7 …n n不论是左...
  • 已知head为单链表表头指针,链表中存储都是整型数据,实现下列运算算法: (1) 求链表中的最大值 (2)求链表中结点个 (3)求所有整数平均值 #include<iostream> #include<algorithm> ...
  • PS:该处使用了辗转相除法来求最大公约数数据举例:其中“amodb”是指取a÷b余数。例如,123456和7890的最大公因子是6,这可由下列步骤看出:abamodb...
  • 题目:已知f为单链表表头指针, 链表中存储都是整型数据,试写出实现下列运算递归算法: ① 求链表中的最大整数; ② 求链表结点个; ③ 求所有整数平均值。 算法描述: /* 求链表中的最大整数 */ int ...
  • 选择题 31一组数据由5个整数组成已知中位数是4唯一众数是5则这组数据最大可能是 A19 B20 C22 D23 32某班7个学习小组人数如下556x778已知这组数据平均数为6则下列说法错误是 Ax4 B众数是5和7 C中位数是6 D...
  • 数据结构第二章上机作业,张宪超。 已知head为单链表表头指针,链表中储存都是整形数据,实现下列运算递归算法: 1.求链表中最大值 2.求链表中节点个 3.求所有整数平均值
  • 下列四个不同数制表示的数中,数值最大的是 。【判断题】13.操作系统是软件和硬件之间的接口。【单选题】测量的基准面是【判断题】15.只读存储器(ROM)内所存的数据在断电之后也不会丢失。【单选题】33.一个字节由8个...
  • 第4章样本与数据分析初步易错题集024.2 平均 选择题 1某校初一年级有六个班一次测试后分别求得各个班级学生成绩平均它们不完全相同下列说法正确是 A全年级学生平均成绩一定在这六个平均成绩最小值与最大...
  • 【背景】已知f为单链表表头指针,链表中存储是整形数据,试写出实现下列运算递归算法:1、求链表中的最大整数2、求链表节点个3、求所有整数平均值【源码运行环境】操作系统:Windows 10编译环境:Dev ...
  • MySQL的数据类型

    2008-07-31 14:04:00
    MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个...下列代码字母用于描述中: M 指出最大的显示尺寸。最大的合法的显示尺寸是
  • 数据类型

    2019-11-05 15:12:53
    java中的数据大方向分为两大类,分别是基本数据类型和引用数据类型,其详情如下 ...(*一个用n位2进制表示,其最大值为2n次方-1) 第一种:byte 1 127~(-128) 第二种:short 2 32767~...
  • 被排序的数据的最大值和最小值相差悬殊 C 完全无序时用快速排序。 (这是输出后内容,第一行与原文档根本不同,而且后面也有很多乱错误) ![图片说明]...
  • 1.下列关于树叙述正确是( ) A.树中可以有环 B.树度是指所有结点中度最小结点度 C.树深度指是结点最多那一层深度 D.树根结点是所有结点祖先结点 答案:D 解析: A: 树中节点不能相交 B:...
  • 两个相除,商是5,除数是20,被除数最大是______.“班级”一词最早提出人是()。A.赫尔巴特B.夸美纽斯C.埃拉斯莫斯D.下列哪些项属于我国城市规划编制体系范畴()A.长江三角洲城镇体系规划B.某大都市区两个...
  • 下列代码字母用于描述中:M:指出最大的显示尺寸。最大的合法的显示尺寸是255。D:适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。最大可能的值是30,注意,如果你指定一个了为ZEROFILL,MySQL将为该列...
  • 整数 总共有两种数字类型:整数和实数(有小数部分)。如果你保存是整数,使用下列的整型:TINYINT...整型有个一个可选择参数,就是UNSIGNED,它不允许存储负数,而正数的最大上限变为之前大约两倍左右。...
  • 单值函数:单叶多值函数:多叶matlab使用下列函数进行复变函数做图:cplxgrid:构建一个极坐标复数数据网格z=cplxgrid(m); %产生(m+1)*(2*m+1)极坐标下复数数据网格。最大半径为1圆面cplxmap:对复变函数...
  • 数据结构题

    2012-09-10 14:48:39
    23.下列四种排序中( )空间复杂度最大。 (A) 快速排序 (B) 冒泡排序 (C) 希尔排序 (D) 堆 24.数据的最小单位是( )。 (A) 数据项 (B) 数据类型 (C) 数据元素 (D) 数据变量 25.设一组初始记录关键字序列为...
  • 数据结构-堆

    2019-07-05 17:48:00
    堆通常是一个可以被看做一棵树的数组对象(用数组实现的二叉树)。堆总是满足下列性质: ... 将根节点为最大的值的称为最大堆,根节点为最小值的堆称为最小堆。 堆和二叉树的区别: 堆仅仅用了数组,无二...
  • 最大堆_最小堆

    2021-03-21 17:51:09
    完全二叉树:若设二叉树深度为k,除第 k 层外,其它各层 (1~k-1) 结点数都达到最大,第k 层所有结点都连续集中在最左边,这就是完全二叉树。 满二叉树:一棵二叉树结点要么是叶子结点,要么它有两...
  • 6.1树基本概念 树型结构是区别于线性结构另一大数据结构,它具有分支性和层次性。...树度:我们将一结点拥有子女称为该结点度,树中所有结点度的最大值称为树度。 叶子结点:称度为0结点为

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 263
精华内容 105
关键字:

下列数据最大的数是