2.15
//2018年8月17日 练习2.15
void stick(linklist &ha, linklist &hb, linklist &hc)
{
if (m < n)
{
pa = ha->next;
while (pa->next != null)
pa = pa->next;
pa->next = hb->next;
free(hb);
hc = ha;
}
else
{
pb = hb->next;
while (pb->next != null)
pb = pb->next;
pb->next = ha->next;
free(ha);
hc = hb;
}
}
2.16
void deleteandinsertsub(linkedlist la, linkedlist lb, int i, int j, int len)
{
if (i < 0 || j < 0 || len < 0) return INFEASIBLE;
p = la;prep = la;k = 1;prev = NULL;
while(p&&k<i)
{
prev = p;p = p->next;k++;
}
if (!p) return INFEASIBLE;//找到第i个
q = p;k = 1;
while (q&&k < len)
{
q = q->next;k++;
}
if (!q) return INFEASIBLE;
if (!prep) la = q->next;//全删完了,剩下空表
if (j == 1) q->