zoukankan      html  css  js  c++  java
  • 链表

    头指针:

    1. 头指针是指向链表第一个结点的指针。
    2. 无论链表是否为空,头指针均不为空。
    3. 头指针是链表的必要元素。
    4. 若链表有头结点,则头指针就是指向头结点的指针。

    头结点:

    1. 放在第一个结点之前,其数据域一般无意义(用来存放链表的长度)
    2. 头结点不是链表的必要元素。

    typedef struct Node{
        ElemType data;       //数据域
        struct Node* next;   //指针域
    } Node;

    单链表读取:O(n)

    Status GetElem(LinkList L,int i,ElemType *e){
        int j = 0;
        LinkList p;
        p = L->next;
        while (p && j<i) {
            p = p->next;
            ++j;
        }
        if (!p || j>i) {
            return 0;
        }
        *e = p->data;
        return 1;
    }

    单链表的插入:O(n)

    Status ListInsert(LinkList L,int i,ElemType *e){
        int j=0;
        LinkList p = NULL,s;
    p = L;
    j = 1;
    while (p && j<i) { p = p->next; j++; } if (!p || j>i) { return 0; } s = (LinkList)malloc(sizeof(Node)); s->data = *e; p->next = s->next; s->next = p; return 1; }

     

    单链表的删除:O(n)

    Status ListDelete(LinkList L,int i,ElemType*e){
        int j =0;
        LinkList p = L,s;
        while (p && j <i) {
            p = p->next;
            j++;
        }
        if (!p ||j>i) {
            return 0;
        }
        s = p->next;
        p->next = s->next;
        //释放 s
        return 1;
    }
    但行好事,莫问前程。
  • 相关阅读:
    软件工程之项目管理核心框架
    JPA @Column
    centos 安装 nodejs vue 工具链.
    c语言 打印二进制数
    Python import 导入指定目录的某块
    最近的一点思考,关于高手/大师/学霸
    同步与非同步,阻塞与非阻塞。
    Spring MVC 配置
    Java Web框架的基本组件
    add函数
  • 原文地址:https://www.cnblogs.com/yuhui-snail/p/9670364.html
Copyright © 2011-2022 走看看