首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有一个由正整数组成的无序(后向)单链表,编写能够完成下列功能的算法: (1)找出最小值结点,且打印该数值。 (2)若该数值为奇数,则将其与直接后继结点的数值交换。 (3)若该数值为偶数,则将其直接后继结点删除。
设有一个由正整数组成的无序(后向)单链表,编写能够完成下列功能的算法: (1)找出最小值结点,且打印该数值。 (2)若该数值为奇数,则将其与直接后继结点的数值交换。 (3)若该数值为偶数,则将其直接后继结点删除。
admin
2014-12-08
54
问题
设有一个由正整数组成的无序(后向)单链表,编写能够完成下列功能的算法:
(1)找出最小值结点,且打印该数值。
(2)若该数值为奇数,则将其与直接后继结点的数值交换。
(3)若该数值为偶数,则将其直接后继结点删除。
选项
答案
算法的思想是:采用从前向后扫描单链表的方法,边扫描边测试,根据测试结点执行相应的操作。算法描述如下: int Function(LinkList*la) { int temp; LinkNode*p=L->next;//单链表为空时返回 LinkNode*q=p; if(p==NULL) return 0; /*找到最小值结点*/ while(p!=NULL) { if(p->data<q->data) q=p; p=p->next; } /*打印最小值结点*/ printf("Min:%d\n",p->data); /*功能点:若该数值为奇数,则将其与直接后继结点的数值交换*/ if(q->data%2==1) { temp=q->data; if(q->next==NULL)//不存在直接后继结点 return 0; q->data=q->next->data; q->next->data=temp; } /*功能点:若该数值为偶数,则将其直接后继结点删除*/ else { if(q->next==NULL) return 0; p=p->next; q->next=p->next; free(p); } return 1; }
解析
转载请注明原文地址:https://kaotiyun.com/show/0Oxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
清末新政未能挽救清朝灭亡命运的根本原因是()
黎公社失败的根本原因是()。
比绿林军动稍后,琅琊人()在莒县暴动,为了作战时与敌人相区别,农民军把眉毛涂红,被称为赤眉军。
关于俄国工业革命的特点,正确的是()。①外国资本和技术在工业革命中起着重要的作用②工业革命发展极不平衡③企业资本有机构成低,技术落后④工业革命所需的资金主要来自对海外殖民地的掠夺
周王室的两大官僚系统是()。
明代中后期,随着工商业的发展和南北经济联系的加强,在江南地区,自宋元以来初露端倪的新的城市类型——()得到很快的发展。
红色割据和军阀割据的本质区别是()。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
随机试题
A.磺胺二甲嘧啶B.磺胺喹噁啉C.地美硝唑D.青霉素E.头孢噻呋常与二甲氧苄啶合用治疗免球虫病的药物是
十月革命后,曾直接出兵侵略苏俄的国家有 ①美国②意大利③保加利亚④日本⑤法国⑥泰国⑦英国⑧塞尔维亚
关于NSAID药物说法错误的是
明渠流动为急流时()。
某施工企业参加一市政道路工程投标,该企业的项目估算价为6000万元,则其应交的投标保证金最多不超过()万元。
投资活动流入的现金不包括()。
(2016年德州齐河)某教师在数学课堂上,为了更好地促进学生智力技能的形成,经常在黑板上清楚而细致地演算例题,其目的是给学生提供()
已知α1=(1,2,3,4)T,α2=(2,0,-1,1)T,α3=(6,0,0,5)T,则向量组的秩r(α1,α2,α3)=_______,极大线性无关组是_______.
下列关于运算符函数的描述中,错误的是()。
Inaneffortto(i)______herwriting,Laurenattemptedtoeliminatethe(ii)______andmakeonlypointsthatweretrulynecessary
最新回复
(
0
)