数据结构与算法顺序<新手上路! 记录学习>顺序为线性结构,以数组形式保存!1.创建一个结构体来表示顺序,其中*elems表示顺序的元素地址,length表示顺序的长度,size表示顺序的总的存储空间大小。 2.初始化链表,为链表分配空间,宏定义表示顺序的总的存储大小(可自由修改),为防止顺序存储空间分配失败,外加了一条判断语句,判断顺序分配空间后是否为空,为空直接结束
location ~ /lua_iconv { default_type 'text/html'; charset gbk; lua_code_cache on; content_by_lua_file /usr/example/lua/test_iconv.lua; } lua_code_cache 表示 缓存lua脚本内容JSON库&
转载 2024-05-23 15:09:51
112阅读
参考LRU算法dubbo-cache一.基本介绍1.1 常见缓存淘汰算法及其实现思路对于缓存,常见淘汰算法有3: FIFO: first in first out,先进先出,即假定刚刚加入的数据总会被访问到; LRU:least recently used,最近最少使用,判断最近被使用的时间,假定未被使用的时间越久就不可能在被使用; LFU:least frequently used,数据使用次数
转载 2024-04-07 13:23:34
28阅读
Python3 MySQL 数据库连接 - PyMySQL 驱动本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。什么是 PyMySQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了
方法一,可以用for来遍历:do table_week = { "w", "e", "r", "t", "y", "u", "i", } for i = 1, #table_week do print(table_week[i]) endend#后面接一个数组或者tabe来遍历它,i是该table或者数组的起始下标。方法2:do table_week
原创 2023-08-25 14:19:15
76阅读
1.元、元操作 1.1算术元操作 Metatables允许我们改变table的行为,例如,使用Metatables我们可以定义Lua如何计算两个table的相加操作a+b。当Lua试图对两个进行相加时,他会检查两个是否有一个有Metatable,并且检查Metatable是否有__add域。如果找到则调用这个__add函数(所谓的Metamethod)去计算结果。 Lua中的每一个都有
转载 2024-05-07 11:03:13
89阅读
在我们平时的开发中应用的不多,最熟悉的要数lua中的面向对象实现。今天就总结下metatable的使用,底层原理,以及使用场景。metatable是什么? 简单一句话,是lua提供给我们的一种操作table的方法。metatable也是table,从源码中我们看到: typedef struct Table { CommonHeader; lu_byte flags; /
转载 2024-06-14 15:13:25
23阅读
一、简单认识table作用:table是lua的一种变量类型,而在lua中没有提供数据结构,所以table将会用于帮助我们创建不同的数据结构,如数组、字典等;使用语法:table是一个关联性数组,可以用任意类型的值来做数组的索引,除了nil(lua语法支持nil,但不提倡使用);而且所有的索引值都需要用[],如果是字符串,可以去掉引号和中括号;如果没有中括号,则认为是字符串索引;lua中最主要
转载 2024-03-07 16:50:00
103阅读
Metatable和在使用lua的时候,lua是最经常用到的,虽然已经提供给我们非常多的操作,包括变量,函数等,Metatable的引入可以改变相应的行为,使得更加的灵活。有时我们需要对表中新创建的元素进行跟踪,使用Metatable可方便的做到这一点。带着这个问题,看看是如何使用Metatable 做到这一点的。__index和**__newindex**如下先创建一个带Metat
转载 2024-05-10 19:13:43
99阅读
系列文章目录 文章目录系列文章目录前言?一、Lua1.table()的构造2.table()的操作1.table连接2.table插入和移除3.table排序4.table最大值?二、Lua模块与包?1.require函数?2.加载机制?3.C包?????总结 前言?一、Luatable 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。Lua table 使用关
转载 2024-05-14 19:09:22
60阅读
明天新功能就要上了,结果刚刚突然QA说项目抛出了错误。握草,吓得立马出了一身汗。查了一下错误,发现可能是自己写的不稳定排序造成的。自己感觉应该就是。把排序方法写成稳定的之后,代码分离编译进手机,跑了一下木有错误了。脑残的自己为何要对服务器传过来的有序数据进行排序呢?脑抽不明。下文为转的别人总结的lua库。(该学习的地方还太多)lua的table库  函数列表: table.i
不要在 lua 的 table 中使用 nil 值,如果一个元素要删除,直接 remove,不要用 nil 去代替。[code="lua"]local table1 = {a=1,"2",c="3","4","5"}print("size:"..#table1)print("size:"..table.getn(table1))print(table
原创 2023-04-11 00:41:10
209阅读
官方文档是这么描述#的:取长度操作符写作一元操作 #。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。table t 的长度被定义成一个整数下标 n 。 它满足 t[n] 不是 nil 而 t[n+1] 为 nil; 此外,如果 t[1] 为 nil ,n 就可能是零。 对于常规的数组,里面从 1 到 n 放着一些非空的值的时候, 它的长度就精确的为 n,即最后一个值的下标。
lua table ()table是lua的一种数据结构,用来帮助我们创建不同的数据类型,如 : 数组、字典。lua table 使用关联型数组,你可以使用任意类型的值来作数组的索引,但这个值不能为Nil.lua table 是不固定大小的,你可以根据自己的需要进行扩容。lua 也是通过table来解决模块(module) 、包(package)和对象(Objec)的。例如 string.for
转载 2024-02-13 09:33:29
56阅读
一、元概述通常,Lua中的每个值都有一套预定义操作集合,比如数字可以相加,字符串可以连接,中可以插入键值对等;但是我们无法对两个table相加,无法对函数进行比较等;元的出现可以解决以上问题:我们可以通过元来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作;Lua中每个值都有一个元,table和userdata可以有各自独立的元,其它类型的值则共享其类型所属的单一元
转载 2024-05-03 13:54:36
85阅读
前言元对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那本文就是主要讲的是如何定义这个指定的函数,这个指定的函数是什么?希望对学习Lua的朋友有帮助。&nbsp
转载 2024-07-28 19:26:24
72阅读
文章目录一、基本知识二、table的构造1.使用步骤2.示例演示三、table的操作1.操作语法2.示例演示 一、基本知识(1)table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。 (2)Lua table 使用关联型数组,可以用任意类型的值来作数组的索引,但这个值不能是 nil。 (3)Lua table 是不固定大小的,你可以根据自己需要进行扩容。 (4)
前言这篇文章介绍lua和元。比较简单,主要为后面的userdata做准备。上面链接过一遍,基本上能搞清楚lua和元。下面画蛇添足的复制上面的部分内容,作为笔记。这篇博客的诞生过程是:看代码,了解使用->找博客,去解决代码中不懂的部分->改代码,以满足需求->翻书,补充下概念点->最后是来写demo,做个笔记。本文不会一点点的去复制概念,因为无聊。本文给出demo
转载 2024-03-22 09:03:01
62阅读
Lua编程中,经常会看到有时用点号定义一个table的成员函数,有时却用冒号,在调用的时候也是如此。那么点号和冒号在使用上有什么区别呢?它们与self之间又是什么样的关系呢?稍安勿躁,接下来谜底将一一为你揭开。 下面先看一个例子Class = {} Class.__index = Class function Class.new(x,y) local cls = {}
转载 2024-05-24 19:54:11
0阅读
前言我们都知道,递归代码的时间复杂度分析起来很麻烦。在排序那一节讲过,如何利用递推公式,求解归并排序和快速排序的时间复杂度,但是,有些情况下,比如快排的平均时间复杂度的分析,用递推公式的话,会涉及非常复杂的数学推导。那么,除了用递推公式这种比较复杂的分析方法,有没有更简单的方法呢?接下来,我们一起来了解下树这种数据结构的一种特殊应用——递归树。某些情况下,借助递归树可以快速分析递归算法的时间复杂度
  • 1
  • 2
  • 3
  • 4
  • 5