首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处
admin
2019-08-01
60
问题
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
(1)算法的基本思想:单链表中删除结点,为使结点删除后不出现“断链”,应知道被删结点的前驱。而“最小值结点”是在遍历整个链表后才能知道。所以算法应首先遍历链表,求得最小值结点及其前驱。遍历结束后再执行删除操作。 (2)算法的设计如下: typedef struct LNode{ int data: struct LNode * next; }LNode*Linkedlist; LinkedList Delete(LinkedList L){//L是带头结点的单链表,本算法删除其最小值结点 Linkedlist*p,*q,*pre: P=L一>next; //p为工作指针,指向待处理的结点。假定链表非空 pre=L; //pre指向最小值结点的前驱 q=P; //q指向最小值结点,初始假定第一元素结点是最小值结点 while(p一>next!=null){ if(P一>next一>data<q一>data){pre=P; q=P->next;} //查最小值结点 p=p一>next; //指针后移 } pre一>next=q->next; //从链表上删除最小值结点 free(q): //释放最小值结点空间 }//结束算法delete
解析
转载请注明原文地址:https://kaotiyun.com/show/iCCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
武则天时期,为了管理天山以北的广大区域而设立了()。
罗马法的集大成《查士丁尼民法大全》产生的时间是在()。
下列对第三次科技革命推动了国际经济格局调整的叙述,不正确的是()。
戊戌政变发生的时间是()。
下列法律文件中,规定内阁对君主负责的是()。
东汉末期的农民起义出现的新特点是()。
A、1243B、4312C、2134D、3214D图的BFS遍历。D选项,首先访问结点3,与3邻接的结点4、2都未曾访问过,故3后面因该为2、4(或4、2),故D错。
举例说明P、V操作为什么要求设计成原语(即对同一信号量上的操作必须互斥)。P(S)操作:S.value--;If(S.value<0){AddthisprocesstoS.L;Block();
设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][O]的存储地址为860,则a[3][5]的存储地址为()。
随机试题
《中华人民共和国刑法》第111条规定:为境外的机构、组织、人员窃取、刺探、收买、非法提供国家秘密或者情报的,处五年以上十年以下有期徒刑;情节特别严重的,处十年以上有期徒刑或者无期徒刑;情节较轻的,处五年以下有期徒刑、拘役、管制或者剥夺政治权利。
对于行×列表资料,如有一格理论数T<1,需作假设检验时,可考虑
有明显的政策补贴性质,贷款利率较低的购房贷款方式是( )。
企业取得交易性金融资产的目的通常是()。
关于历代移动通信技术,下列说法正确的是()。
设X~N(1,4),X为样本容量n=16的样本均值,则P(0
函数f(x)=x3-3x2+1在x=__________处取得极小值.
近代警察是资本主义发展的产物,发端于()。
Theword"perks"(Line1,Paragraph1)mostprobablymeans______Accordingtothetext,thereturnofperksismostlybecause
最早
最新回复
(
0
)