线性表的链式表示和实现
来源:互联网 发布:中华书局知乎 编辑:程序博客网 时间:2024/05/18 16:14
单链表的存储结构:
typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*Linklist;
【注1】LNode只是起的一个名字,它并不是一个参数类型,这个名字只代表了一种数据结构。这个数据结构的样式就是花括号里面所括着的那两个成员:一个数据,一个指向下一个同样类型节点的指针。
而typedef struct LNode* LinkList;这一句则是定义了一个名字叫LinkList的指针,这个指针指向一个也属于LNode这种类型数据结构的一个结点。
【注2】
假设L是LinkList型变量,则L为单链表的头指针
假设p是指向线性表中第i个元素(结点a1)的指针,则p->next是指向第i+1个元素(结点ai+1)的指针
带头结点的链表建立(头插法):
LinkList CreateList_L(int n){//创建带头结点的单链表L. int x; LinkList L; LNode *p; L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; scanf("%d", &x); for(int i = 1; i <= n ; i++) { p=(LNode*)malloc(sizeof(LNode)); p->data=x; p->next=L->next; L->next=p; } return L;}
带头结点的链表建立(尾插法):
LinkList CreateList_L(int n){//创建带头结点的单链表L. int x; LinkList L; LNode *p,*r=L;//r 为表尾指针 L=(LinkList)malloc(sizeof(LNode)); scanf("%d", &x); for(int i = 1; i <= n ; i++) { p=(LNode*)malloc(sizeof(LNode)); p->data=x; r->next=p; r=p;//r指向新的表尾结点 } r-next=NULL;//尾结点指针置空 return L;}
阅读全文
1 0
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现(链式)
- 线性表的链式表示和实现----线性(单)链表
- 线性表得链式表示和实现
- Java eclipse 项目svn忽略不需要提交的文件
- hdu 1252
- 关于静态代码块的执行顺序的笔记
- 向上向下转型的使用和自己的一个小补充。
- vue-router 快速入门
- 线性表的链式表示和实现
- 【威胁通告】netsarang公司软件中的nssock2.dll模块被植入恶意代码
- 约瑟夫环
- idea、eclipse 启动maven项目异常-缺少xml文件或者properties文件
- leetcode 636. Exclusive Time of Functions
- 第十九篇:JAVA输入输出(IO)之文件
- 安装Pyhton,Django,Nginx及部署完整流程(有序)
- String的一些常用方法
- 线程学习笔记(十一)-查看JVM中所有的线程和线程组