博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表详解
阅读量:6652 次
发布时间:2019-06-25

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

单链表:

节点:结构体

typedef struct Lnode  {      int data;       struct Lnode *next;  }LinkList; #这里使用typedef 可以用 更简洁的名字 代替 struct Lnode

建立空链表:只有一个头结点,且指向空(NULL):

void InitList(LinkList*&L)  {      L = (LinkList *)malloc(sizeof(LinkList));      L->next = NULL;  }

建立单链表:

1 #头插法建立单链表 2 void CreateListH(LinkList *&L, int a[], int n) 3 {   4     //LinkList *s;                          5     int i;   6     L = (LinkList *)malloc(sizeof(LinkList)); /   7     L->next = NULL;                         8     for (i = 0; i < n; i++)  9     {10         s = (LinkList *)malloc(sizeof(LinkList));   11         s->data = a[i];  12         s->next = L->next;   13         L->next = s;  14     }  15 }
#尾插法建立单链表void  CreateListR(LinkList *&L, int a[], int n)  {      int i;      LinkList *s, *r;      L = (LinkList *)malloc(sizeof(LinkList));  //申请空间      r = L;      for (i = 0; i < n; i++)     {          s->data = a[i];          r->next = s;            //将 s插入r的后面,          r = s;          }      r->next = L->next;             //队伍建立完成后,最后  队尾节点为 NULL;  }

 

转载于:https://www.cnblogs.com/StaYWARM/p/7601127.html

你可能感兴趣的文章
Linux高并发机制——epoll模型
查看>>
SQL注入与Java
查看>>
那些强悍的PHP一句话后门
查看>>
C# 文件下载 : WebClient
查看>>
JavaScript Ajax之美
查看>>
oracle linux 启动
查看>>
C# 一个多层循环中,break一次能跳出几个循环?
查看>>
脚本大全
查看>>
PostgreSQL 允许远程访问设置方法
查看>>
eclipse中project->clean的作用是什么
查看>>
【转】bash 参数展开(Parameter Expansion)
查看>>
CSS之div和span标签
查看>>
攻入Javascript,究竟什么是AJAX
查看>>
ASP.NET MVC:通过FileResult向浏览器发送文件
查看>>
Mac下关闭Sublime Text 3的更新检查
查看>>
Linux 块I/O子系统
查看>>
$ -----JavaScript 中美元符号 $ 的作用
查看>>
2017年网站安全狗绕过WebShell上传拦截的新姿势
查看>>
利用递归将数组转码
查看>>
使用VPD解决EBS中信息屏蔽问题
查看>>