数据结构(三)
来源:互联网 发布:linux查看时区 编辑:程序博客网 时间:2024/05/18 00:42
一、单链表中的插入与删除
插入
第一种情况:在第一个结点前插入
newnode->link = first ;
first = newnode;
第二种情况:在链表中间插入
newnode->link = p->link;
p->link = newnode;
二、单链表中的插入与删除
int Insert ( LinkList& first, int x, int i ) {
//在链表第 i 个结点处插入新元素 x
ListNode * p = first; int k = 0;
while ( p != NULL && k < i -1 )
{ p = p->link; k++; } //找第 i-1个结点
if ( p == NULL && first != NULL ) {
printf ( “无效的插入位置!\n” );
return 0;
}
ListNode * newnode = //创建新结点
(ListNode *) malloc ( sizeof (ListNode) );
newnode->data = x;
if ( first == NULL || i == 1 ) { //插在表前
newnode->link = first;
first = newnode;
}
else { //插在表中或末尾
newnode->link = p->link;
p->link = newnode;
}
return 1;
}
- 数据结构(三)
- (三)CvSeq数据结构
- 数据结构复习题(三)
- 数据结构(三):图
- 数据结构(三)
- 数据结构基础知识(三)
- 数据结构:(三)栈
- 数据结构(三)算法
- [数据结构]查找(三)
- 数据结构(三)
- 【数据结构】-(三)
- 数据结构学习(三)
- 数据结构系列教程(三)
- 无锁数据结构(三)
- Ruby操纵数据结构(三)
- JAVA笔记(三)数据结构
- C# 实现数据结构(三)
- 数据结构树习题(三)
- Redis Info 命令
- 30分钟掌握ES6核心内容(下)
- Mysql 5.7 开启远程连接
- /usr/home/anaconda/lib/libcurl.so.4: no version information available (required by cmake)"
- 5.java高级部分
- 数据结构(三)
- 跬步系列 - 反向传播 (Draft)
- 解决:SQL1005N 在本地数据库目录或系统数据库目录中已经存在数据库别名
- 利用freemarker 静态化网页
- 处理GitHub不允许上传大于100M文件问题
- 关于EditText代码设置焦点及软键盘设置(一)
- 集合中Collection方法详解
- linux内核面试题及答案整理
- datagrid中load,reload,loadData方法的区别