单链表尾插法与头插法
来源:互联网 发布:垦丁民宿排名 知乎 编辑:程序博客网 时间:2024/05/29 15:26
在创建单项链表的时候我们经常有两种选择的创建方式:头插法和尾插法,在用C开发的项目中会经常用到,所以我们就在这里总结一下:
***************************我是分割线****************************
尾插法建立单链表:
/* * Data: 14-11-4 * Version number:1 * Autor: Elian World **/ void CreatelistR(LNode *&C,int a[],int n)// C为单链表的表头节点,a为链表对应元素,n为元素个数{LNode *s,*r; // s用来指向新申请的结点,r始终指向C的终端结点int i;C = (LNode *)malloc(sizeof(LNode)); // 申请C的头结点空间 C->next = NULL;r = C; // r指向头结点,因为此时头结点就是终端结点 for(i = 1;i <= n;i++) // 循环申请n个结点来接受数组a中的元素 {s = (LNode *)malloc(sizeof(LNode));// s指向新申请的结点 s->data = a[i]; // 用新申请的结点来接受a中的一个元素 r->next = s; // 用r来接纳新结点 r = r->next; // r指向终端结点,以便于接纳下一个到来的结点 }r->next = NULL; // 数组a中所有的元素都已经装入链表C中,C的终端结点的 // 指针域置为NULL,C建立完成 }
头插法建立单项链表:
/* * Data: 14-11-4 * Version number:1 * Autor: Elian World **/void CreatelistF(LNode *&C,int a[],int n){LNode *s;int i;C = (LNode *)malloc(sizeof(LNode));c->next = NULL;for(i = 1;i <= n;i++){s = (LNode *)malloc(sizeof(LNode));s->data = a[i];/*下面两句是头插法的关键步骤*/s->next = C->next; // s所指新结点的指针域next指向C中的开始结点C->next = s; // 头结点的指针域next指向s结点,使得s成为了新的开始结点 }}
1 0
- 单链表尾插法与头插法
- [数据结构]头插法与尾插法
- 与
- 与
- “” 与 “”
- ##与#
- >> 与 > >
- :与::
- &与&&
- && 与 &
- [[与((
- >>与>>>
- *与++
- *与++
- ++与++
- ->与 .
- :与::
- & | 与&& ||
- JSONP一种使用<script>元素获取数据的方法
- Oracle版Mysql安装
- P2P投资理财平台排行榜
- Cloudera Manager5安装问题记录
- 自定义Actionbar图标
- 单链表尾插法与头插法
- 使用fuser命令kill一个终端(特殊文件)的方法
- 使用Zipalign优化apk应用程序
- 表格基础2
- spark-mllib-TFIDF实现
- AFNetworking2.0源码解析<一>
- 微信分销系统商城分销元芳您怎么看
- 【转载】 Android WebView 开发详解(三)
- [windows]如何在batch脚本中检测系统是否安装了python和pip