zoukankan      html  css  js  c++  java
  • 单链表操作1

    假设单链表数据元素类型为整型,完成带头结点的有序单链表(非递减)插入算法

    typedef int Elemtype;//定义类型
    
    typedef struct LNode{
    
    ELemtype data;//存放数据元素
    
    struct LNode *next;//存放下一个元素地址
    }LNode,*LinkList;//LNode为结点型,LinkList为指针型
    
    int ListINsert(LinkList &L,Elemtype e)//L为头指针,要插入的元素为e相当于形参
    {
    LinkList p=L->next;//p为头结点,LinkList p等同于LNode *p
    LinkList s=new LNode;//定义一个新节点用于存放要插入的元素;
    s->data=e;
    
    if(!p->next)
    //链表为空时
    {
    p->next-s;//直接将要插入的元素(本身就是非递减)插到表尾
    return OK;
    }
    while(p)
    {
    if(p-next&&p->next->data<=e) p=p->next;//p的下一个结点的data比e小,故e不能插入p后面,p后移;
    else{
    s->next=p->next;
    p->next=s;//注意这两句顺序
    return ok;//插入成功
    }
    }
    }
  • 相关阅读:
    webapi之fiddler头设置
    ios---setContentOffset
    webapi参数处理get过个参数
    socket网络编程
    logging模块
    configparser模块(拷贝)
    hashlib模块--摘要算法
    异常处理
    面向对象拓展
    反射
  • 原文地址:https://www.cnblogs.com/lysun/p/12551755.html
Copyright © 2011-2022 走看看