⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.19.c

📁 部分高校使用anyview编程测试数据结构习题,此代码为数据结构题集(c语言版)严蔚敏版的课后习题答案.专门提供给在anyview上运行,全部为通告代码
💻 C
字号:
◆2.19③  已知线性表中的元素以值递增有序排列,并以
单链表作存储结构。试写一高效的算法,删除表中所有值
大于mink且小于maxk的元素(若表中存在这样的元素)同时
释放被删结点空间,并分析你的算法的时间复杂度(注意:
mink和maxk是给定的两个参变量,它们的值可以和表中的
元素相同,也可以不同)。

实现下列函数:
void DeleteSome(LinkList &L, ElemType mink, ElemType maxk);
/* Delete all the elements which value is between mink and  */
/* maxk from the single sorted LinkList with head pointer L.*/

单链表类型定义如下:
typedef struct LNode{
    ElemType      data;
    struct LNode *next;
} LNode, *LinkList;
void DeleteSome(LinkList &L, ElemType mink, ElemType maxk)
/* Delete all the elements which value is between mink and  */
/* maxk from the single sorted LinkList with head pointer L.*/
{

 LinkList p,q;
    p=L;q=L->next;
    while(q)
       {
        if(q->data>=maxk) break;
        else if(q->data<=mink)
        {
         p=q;q=q->next;}
        else
        {
         p->next=q->next;
         free(q);
         q=p->next;}
       }   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -