单链表基本操作(二)
来源:互联网 发布:ipad如何看淘宝直播 编辑:程序博客网 时间:2024/06/16 09:49
得到单链表的长度:(头结点不计算在内)
int length(LNode *L){ int len = 0; struct LNode *temp = L->next; while(temp != NULL){ len++; temp = temp->next; } return len;}
单链表的删除:删除指定结点并返回删除结点的数据
ElemType deleteLNode(LNode *L,int idx){ int i = 0; ElemType ch = '\0'; struct LNode *pre = L; /* 前驱结点 */ struct LNode *cur = L->next; /* 当前结点 */ while(cur!=NULL&&i<idx-1){pre = cur;cur = cur->next;i++; } if(NULL==cur||i>idx-1){return -1; } /*delete*/ ch = cur->data; pre->next = cur->next; free(cur); return ch;}
插入一个元素到第idx个结点之前
int insert(LNode *L,int idx,ElemType ch){ int i = 0; struct LNode *new_node = NULL; /* 新结点 */ struct LNode *cur = L->next; /* 当前结点 */ struct LNode *pre = L; /* 前驱结点 */ while(cur!=NULL&&i<idx-1){pre = cur;cur = cur->next;i++; } if(NULL==cur||i>idx-1){return -1; } new_node = (LNode *)malloc(sizeof(LNode)); if(NULL == new_node){ return -1; }else{new_node->data = ch;new_node->next = cur;pre->next = new_node; } return OK;}
- 单链表基本操作(二)
- Sql 基本操作(二)
- MYSQL基本操作(二)
- Mysql基本操作(二)
- MySQL基本操作(二)
- Git(二)基本操作
- git基本操作(二)
- sqlalchemy基本操作(二)
- Hive基本操作(二)
- Git基本操作(二)
- linux基本操作(二)
- VS2010 操作Word(二)基本操作
- java单链表基本操作(二)--指定位置增加节点
- [实验二] 单链表的基本操作
- XML文档的基本操作(二)
- 树形控件的基本操作(二)
- 学习EMACS基本操作(二)
- ibatis学习笔记(二) 基本操作
- android init.rc语法
- 将一个字符串中的大写字母放到小写字母的后面,而且移动后相对顺序不改变
- 修改mtu值
- MSP430单片机中MAB和MDB指的是什么?
- 训练需要用到的东西
- 单链表基本操作(二)
- 在循环数组中查找某个数K
- bit-map算法在linux内核中的应用
- ASP.NET MVC 请求生命周期
- MSP430的内存分配到底有多重要?
- Cookie & Session
- LeetCode: Merge Two Sorted Lists
- Android平台上使用属性系统(property system)
- hdu 1671 Phone list