博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构之线性表
阅读量:4107 次
发布时间:2019-05-25

本文共 1346 字,大约阅读时间需要 4 分钟。

1 顺序存储结构

2 链式存储结构
2.1 头指针:链表中第一个节点的存储位置
2.2 头结点:放在第一个元素节点前
2.3 若线性表为空表,则头结点的指针域为空

2.3 线性表的单链表存储结构

typedef struct Node{    ElemType data;    struct Node *next;}Node;typedef struct Node *LinkList;

2.4 单链表的读取

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

2.5 单链表的插入

Status ListInsert (LinkList *L, int i, ElemType e){    int j = 1;    LinkList p = *L;    LinkList s = NULL;    if (i < 0)    {        printf ("illegal position. i = %d\r\n", i);    }    while (p && j < i)    {        p = p->next;        ++j;    }    if (!p || j > i)    {        return ERROR;    }    s = (LinkList)malloc(sizeof (Node));    if (s == NULL)    {        printf ("Failed to malloc memory.");    }       s->data = e;    s->next = p->next;    p->next = s;    return OK;}

2.5 单链表的删除

Status ListDelete (LinkList *L, int i, ElemType *e){    int j;    LinkList p = *L;    LinkList q;    if (i < 0)    {        printf ("illegal position.\r\n");    }    while (p && j >i)    {        p = p->next;        ++j;    }    if (!p || j > i)    {        return ERROR;    }    q = p->next;    p->next = q->next;    *e = q->data;    free (q);    return OK;}

  • 以上所有内容摘自《大话数据结构》程 杰 著 *

转载地址:http://pfvsi.baihongyu.com/

你可能感兴趣的文章
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(二)
查看>>
pytorch(三)
查看>>
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
opencv 指定版本下载
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>