线性表 顺序表: 1、设有一元素为整数的线性表L=(a1,a2,a3,„,an),存放在一维数组 A[N]中,设计一个算法,以表中 an作为参考元素,将该表分为左、右两部分,其中左半部分每个元素小于等于 an,右半部分每个元素都大于 an, an位于分界位置上(要求结果仍存放在 A[N]中)。 2、设线性表存于 A[1..size]的前 num各分量中,且递增有序。请设计一个算法,将 x插入到线性表的适当位置上,以保持线性表的有序性。 3、线性表(a1,a2,a3,„,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法完成: (1) 用最少时间在表中查找数值为 x的元素。 (2) 若找到将其与后继元素位置相交换。 (3) 若找不到将其插入表中并使表中元素仍递增有序。 4、已知数组 A[0:n-1]的元素类型为 int,试设计算法将其调整为左右两个部分,左边所有元素为奇数,右边所有元素为偶数。 5、设计一个算法从顺序表L中删除所有值为 x的元素 6、设计一个算法从顺序表L中删除所有值为 x到 y之间(x<=y)的元素 链表: 1、假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。 2 、已知 L1、L2分别为两循环单链表的头结点指针,m,n分别为 L1、L2表中数据结点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。 3、设 L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,设计一个将该链表整理成数据递增的有序单链表的算法。 5、设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中 B表的结点为 A表中值小于零的结点,而 C表的结点为 A表中值大于零的结点(链表A的元素类型为整型,要求 B、C表利用 A表的结点)。 6、试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法。 7、设 L为单链表的头结点地址,请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点。 8、已知两个单链表A和 B,其头指针分别为 heada和 headb,编写一个过程从单链表A中删除自第 i个元素起的共 len个元素,然后将单链表A插入到单链表B的第 j个元素之前。 9、已知递增有序的单链表A,B分别存储了一个集合,请设计算法以求出两个集合 A和 B 的差集 A-B(即仅由在 A中出现而不在 B中出现的元素所构成的集合...