数据结构(三)

#################################链表(list)################################

这次的主题是链表在redis中的命令;

(1)lpush  (key)  (value)                            //把值插入到链表头部

rpush   (key)   (value)                          //把值插到链表尾部

 (2)lrange  (key)   [start,  stop]                 //取出链表从start到stop的值    其中最左用0表示,最右用-1表示

(3)lpop (key)                         //返回并删除链表首部的值

rpop  (key)                         //返回并删除链表尾部的值

(4)lrem  (key)  (count)  (value)                       //从链表中删除count个value ,其中count表示删除几个,大于0从头部删除,小于0从尾部删除

(5) ltrim  (key)  (count)  (value)                                   //截取某段值并且重新赋值给key

如下图截取链表索引从1到3的值赋值给num

(6)lindex  (key)   [start, stop]                  //返回index索引上的值

(7)llen  (key)                //链表长度

(8)linsert  (key)  after/before  (search)  (value)           //在链表中寻找search ,并在search值之前/之后插入value,一旦找到一个search后,命令就结束了,因此不会插入多个value

如下图:在链表num中的8后边插入7

(9)rpoplpush  (source)  (dest)                 //把source尾部拿出放到dest头部,并返回该单元指,这里source 和dest都表示链表,因此这是在两个链表上进行操作

(10)brpop / blpop   (key)   (timeout)                                      //等待弹出key的尾/头元素            其中timeout为等待超时时间,timeout=0表示一直等待

下图我们需要打开两个终端,查看num链表为空。设置brpop  num  30  等待30秒。在另一个终端中建立一个链表num,观察会发现在第一个终端中出现了链表尾部信息。

时间: 2024-10-20 10:19:21

数据结构(三)的相关文章

数据结构(三)实现AVL树

AVL树的定义 一种自平衡二叉查找树,中面向内存的数据结构. 二叉搜索树T为AVL树的满足条件为: T是空树 T若不是空树,则TL.TR都是AVL树,且|HL-HR| <= 1 (节点的左子树高度与节点的右子树高度差的绝对值小于等于1) 说明 AVL树的实现类为AVLTree继承自前篇中的二叉搜索树BTreeSort ,AVL树的节点类为AVLNode继承自二叉树节点类BTreeNode. 实现代码 AVL树节点定义 1  public class AVLNode extends BTreeNo

数据结构---三--字符串

数据结构中,字符串要单独用一种存储结构来存储,称为串存储结构.这里的串指的就是字符串. 严格意义上讲,串存储结构也是一种线性存储结构,因为字符串中的字符之间也具有一对一的逻辑关系,只不过,与之前所学的线性存储结构不同,串结构只用于存储字符类型的数据. ====串存储结构的具体实现 存储一个字符串,数据结构包含以下3中具体存储结构: 1.定长顺序存储:实际上就是用普通数组(又称静态数组)存储. 2. 堆分配存储:用动态数组存储字符串. 3.块链存储:用链表存储字符串. === 静态数组:长度是固定

浅谈算法和数据结构

: 一 栈和队列 http://www.cnblogs.com/yangecnu/p/Introduction-Stack-and-Queue.html 最近晚上在家里看Algorithems,4th Edition,我买的英文版,觉得这本书写的比较浅显易懂,而且“图码并茂”,趁着这次机会打算好好学习做做笔记,这样也会印象深刻,这也是写这一系列文章的原因.另外普林斯顿大学在Coursera 上也有这本书同步的公开课,还有另外一门算法分析课,这门课程的作者也是这本书的作者,两门课都挺不错的. 计算

《Linux Device Drivers》第三章 字符设备驱动程序——note

主设备号和次设备号 那些名称被称为特殊文件.设备文件,或者简单称之为文件系统树的节点,它们通常位于/dev目录 通常而言,主设备号标识设备对应的驱动程序 一个主设备号对应一个驱动程序 设备编号的内部表达 dev_t(<linux/types.h>) dev_t是一个32位的数,12位表示主设备号,其余20位表示次设备号 <linux/kdev_t.h> MAJOR(dev_t dev); MINOR(dev_t dev); MKDEV(int major, int minor);

JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据类型也是可以引用的 一.基本数据类型的对象包装类 左为基本数据类型,又为引用数据类型 byte Byte int Integer long Long boolean Booleab float Float double Double char Character 我们拿Integer来举例子 //整

【数据结构】绪论部分

今天由我来跟大家讲一下数据结构的绪论部分吧.数据结构整体复习主要靠理解.理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩.这篇只是个结构概括,理解就行. 1.1 基本概念 1.数据:即信息. 2.数据元素:数据的基本单位.如:一个学生记录就是一个数据元素,由学号.姓名等数据项构成(数据项为构成数据元素的不可分割的最小单位). 3.数据对象:相同性质的数据元素集合.数据的子集. 4.数据类型:一个值的集合和在此集合上一组操作的总称. 5.抽象数据类型:ADT.一个模型和在此模型上的一组操

浅谈算法和数据结构系列汇总(转)

突然看到一个大神的系列文章讲的就是算法和数据结构,现在把它的文章集中分享给大家,向大神致敬: 浅谈算法和数据结构: 一 栈和队列 浅谈算法和数据结构: 二 基本排序算法 浅谈算法和数据结构: 三 合并排序 浅谈算法和数据结构: 四 快速排序 浅谈算法和数据结构: 五 优先级队列与堆排序 浅谈算法和数据结构: 六 符号表及其基本实现 浅谈算法和数据结构: 七 二叉查找树 浅谈算法和数据结构: 八 平衡查找树之2-3树 浅谈算法和数据结构: 九 平衡查找树之红黑树 浅谈算法和数据结构: 十 平衡查找

数据结构基本知识点总结

1, 数据结构三要素: 1,逻辑结构:线性和非线性 2,存储结构:顺序,链式,索引,散列 3,数据运算:算法 具体时间复杂度与问题的规模和初始条件相关,分最佳和最大 2, 线性表: 无头结点: 头插法:s->data=ch;s->next=head;head=s; 尾插法:rear->next=s;rear=s; (两个指针头尾指针) 删除:q=p->next;p->next=q->next;free(q);有头结点:有了头结点后,对在第一个元素结点前插入结点和删除第一

C语言 严蔚敏数据结构 线性表之链表实现

博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现. 首先,数据结构包括1.数据的操作2.逻辑结构3.存储结构(数据结构三要素. 直接上代码,现阶段代码实现功能有:链表初始化.遍历.增.删.返回链表长度,后续功能陆续发布.其中肯定有很多问题,希望各位码哥留言. Linklist* InitList(int i)//i为链表大小 { Linklist *head; head = (Linklist*)malloc(sizeof(L

数据结构 --- 02. 内存, 顺序表, 单链表

一.内存 1.基本概念 计算机的作用: 就是用来存储和运算二进制的数据 变量的概念: 就是计算机中的某一块内存空间   衡量计算机内存大小的范围: bit byte kb mb 计算机中内存空间都会有两个基本的属性 大小 地址 不同数据占用内存空间的大小 整数:4byte float:4byte double:8byte 字符:1byte 理解a=10的内存图(引用,指向) 指向:如果一个变量存储了某一块内存空间的地址,则表示该变量指向该块内存 引用:如果一个变量存储了某一块内存空间的地址,则该