设计一个算法,将x插入到一个有序(从小到大排序)的线性表(顺序存储结构)的适当位置上,以保持线性表的有序性。
设计一个算法,将x插入到一个有序(从小到大排序)的线性表(顺序存储结构)的适当位置上,以保持线性表的有序性。
设计一个算法,将x插入到一个有序(从小到大排序)的线性表(顺序存储结构)的适当位置上,以保持线性表的有序性。
第1题
顺序存储的线性表
实验目的:
(1)了解线性表的逻辑结构特征。
(2)熟练掌握线性表的顺序存储结构的描述方法,及在其上实现各种基本运算的方法。
(3)掌握和理解本实验中出现的一些基本的c语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
(1)将一顺序表a中的元素逆置。要求算法仅用一个辅助结点。
(2)求顺序表中的元素的最大值和次最大值。
(3)试设计一个算法,仅用一个辅助结点,实现将顺序表a中的结点循环右移k位的运算。
(4)设一顺序表中元素值递增有序。试设计一算法,将元素x插入到表中适当的位置上,并保持顺序表的有序性。
第2题
算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下:
第4题
已知一个顺序表LA,现在要求复制一个LA的拷贝LB。
这个算法实现的思路是:定义两个等长度的顺序表,将LB初始化为空表,然后依次从LA中取数据元素,插入到顺序表LB对应的位置上。
第7题
第9题
第10题
已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的节点,使插入后该单链表仍有序。