对于插入和删除数据越频繁的操作 ,单链表较顺序存储结构效率越有优势
单链表由好多个结点构成 其中头节点可有可无 可以用来存放链表长度。
头指针必须有 每一个指针指向 下一个结点的数据域 头指针指向头结点 头结点中还有一个指针变量
指针域是一个结点类型的指针
#include<iostream>
using namespace std;
typedef int ElementType;
typedef int status;
typedef struct node {ElementType data;node* next;//node->next->date ai+1;
}node;
typedef node* linklist;
//单链表的读取
status getelem(linklist l, int i, ElementType* e)
{int j;linklist p;p = l->next;j = 1;while (p && j < i){p = p->next;++j;}if (!p || j > i){return -1;}*e = p->data;return 0;
}
//单链表的插入
status listinsert(linklist l, int i,ElementType e)
{int j;linklist p, s;p = l->next;j = 1;while (p&&j < i){p = p->next;j++;}if (!p || j >= i){return -1;}s = (linklist)malloc(sizeof(node));s->data = e;s->next = p->next;p->next = s;//颠倒会覆盖 造成死循环
}
status listdelete(linklist l, int i, ElementType *e)
{int j;linklist p, q;p = l->next;j = 1;while (p->next&&j < i){p = p->next;j++;}if (!p->next || j >= i){return -1;}//p->next = p->next->next;q = p->next;p->next = q->next;*e = q->data;free(q);
}
对于插入和删除数据越频繁的操作 ,单链表较顺序存储结构效率越有优势相关推荐
- java连接Orcale数据库并查询、插入、删除数据
java连接Orcale数据库并查询.插入.删除数据 oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式 oci是一种胖客户端的连接方式 J ...
- 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 。 A 单链表 B 静态链表 C 线性链表 D 顺序存储结构
1.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 . A 单链表 B 静态链表 C 线性链表 D 顺序存储结构 答案:B 2.静态链表中指针表示的是() A 内存地址 B下一元素地 ...
- mysql将查到的数据删除_MySQL基本SQL语句之数据插入、删除数据和更新数据 | 旺旺知识库...
一.INSERT插入数据: 方法一:批量插入 基本语法: INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, ...
- c 更新mysql数据_MySQL插入更新删除数据
数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...
- 栈和队列的插入、删除、获取头尾元素操作
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作.进行数据插入和删除操作的一端称为栈顶,另一端称为栈底.栈又称为后进先出的线性表. Stack.h #pragma once#inclu ...
- xlwings删除数据_xlwings最全操作;10秒搞定Xlwings全套操作
import xlwings as xw app = xw.App(visible=True, add_book=False) app.display_alerts = False # 关闭一些提示信 ...
- seqlist插入java_大话数据结构(五)(java程序)——顺序存储结构的插入与删除...
获得元素操作 对于线性表的顺序存储结构来说,我们要实现getElement操作,即将线性表的第i个位置元素返回即可 插入操作 插入算法思路: 1.如果插入位置不合理,抛出异常 2.如果插入表的长度大于 ...
- 单链表插入元素 注释 c语言,数据结构之无头单链表的相关练习题——C语言实现(详细注释)...
本文中所用到的相关链表操作实现均在我上篇博客中:https://blog..net/haoziai905/article/details/87099287 1.删除无头单链表的非尾结点 这道题的重点就 ...
- c语言单链表删除倒数第k个数,在单链表中删除倒数第k个节点
实现方式很多,在这里只说两种实现方式.看不懂时候,大家可以画画图,对理解为什么很有帮助. 第一种方式: 1.首先判断K值和链表是否为空,如果k<=0,或链表为空,直接返回head: 2.满足上面 ...
最新文章
- 聚类分析简单介绍(附R对应函数介绍)
- 【LeetCode从零单排】No.8 String to Integer (丧心病狂的一道题)
- m4a录音文件损坏修复_电脑录音软件哪个好?分享这款录音软件,供你参考!
- Eclipse用户使用IntelliJ IDEA的常见问答
- mysql的索引介绍_2
- 数字电影打包内容(Packaging)
- 在Intel处理器上,修改mitigations参数使Linux系统运行得更快
- oracle查询相同想,返回相同总和的查询-Oracle SQL
- Python库:Pyinstaller库、pip工具、pip指定安装源和版本
- 学以致用------韩顺平老师说(如果不能学以致用,那就是白费。等于没学。贪多嚼不烂。)---无内容...
- 三点确定一个圆的计算方法
- 使用IE缓存提取微博相片
- 用户体验的要素pdf_用户运营思路(35份)
- CSS盒子模型、浮动+例子分析
- Python基础之文件操作
- Linux命令——timeout
- ORB-SLAM2学习笔记——BundleAdjustment函数
- 北汽极狐ARCFOX与华为合作
- Pygame实现小球躲避
- 在这个“未来工厂”里, 人类仅凭脑电波控制机器
热门文章
- PyTorch 训练加速
- Python 3.6 安装 Shapely
- Unknown CMake command add_compile_definitions
- python twisted安装
- tensorflow tf.py_func
- Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated
- Swing实现全屏(覆盖任务栏和不覆盖任务栏)
- mysql des_mysql中DES加密解密
- linux 权限管理 lvm,Linux系统中RAID及LVM管理
- 矩阵迹的性质_“拨开迷雾”,如何判定矩阵相似?