问答题
一个线性表中的元素为正整数或负整数。设计算法将正整数和负整数分开,使线性表的前一半为负整数,后一半为正整数。不要求对这些元素排序,但要求尽量减少比较次数。
本题的基本思想是:先设置好上、下界和轴值,然后分别从线性表两端查找正数和负数,找到后进行交换,直到上下界相遇。算法如下:
问答题 写出快速排序的非递归调用算法。
问答题 对给定的序号j(1<j<n),要求在无序记录A[1]~A[n]中找到按关键码从小到大排在第j位上的记录,试利用快速排序的划分思想设计算法实现上述查找。
问答题 设待排序的记录序列用单链表作存储结构,试写出直接插入排序算法。