第二章课后大题
课后练习
P17
09. 二分法最后插入问题
- 线性表(a, az, as,..., an)中的元素递增有序且按顺序存储于计算机内。要求设计一个算法,完成用最少时间在表中查找数值为x的元素,若找到,则将其与后继元素位置相交换,若找不到,则将其插入表中并使表中元素仍递增有序。
**解:首先查找想到二分法,难点在在于最后的插入问题上。
如果是小于56:此时 right = mid - 1 且在 rihgt 右侧插入
如果是大于56:此时 left = mid + 1 且在还是 right 右侧插入
if(right > low)
{
for(int i = len - 1 ; i > right ;i--)
{
data[i+1] = data[i];
}
data[right + 1] = val
}
**
P38
01 无头节点递归删除单链表中值 X
注意指针引用问题 &