继续请大家帮帮忙问大家一个数据结构的问题 ,急!

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:22:36
是卷子 我可以一题一题的问吗?

已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素),同时释放被删除结点空间。
typedef struct Lnode{
int data;
struct Londe*next;
}Londe,*LinkList;

只有这点分,还有几题,麻烦帮帮忙啊~~~~不胜感激~~~

//假设该链表不带头节点,先为该链表设置一个头节点head。
void delete(int mink, int maxk, LinkList*L)
{
Lnode head;
Lnode p,q;
head->next = L; //添加头节点
p= head->next;//p指针指向链表
while(p->next){
if(->data <=mink){p=p->next;head=head->next;}
if(p->data >=maxk){p=p->next;head=head->next;}
if(p->data > mink && p->data < maxk)
{q=p;//q记住p的位置
p=p->next;//指针下移
head-next=p;//删除后的链表两段连接起来
free(q);//释放节点
}
}//end of while
}//end of function