IP地址配置HTTPS 内网IP配置HTTPS保姆教程
本文介绍了在Nginx中配置HTTPS的完整流程:1)使用OpenSSL生成自签名证书和私钥;2)解密私钥以避免重启时输入密码;3)配置Nginx支持HTTPS,包括指定证书路径、设置安全协议和加密套件等。适用于开发、测试和内网环境,但需注意自签名证书会触发浏览器警告,生产环境建议使用CA签发的正式证书。通过简单的命令和配置即可实现基本的HTTPS加密保护。

顺序存储(Sequence Storage)也称为顺序表,是指用地址连续的一段存储空间依次存放线性表中的元素,使得“逻辑相邻”与“物理相邻”一一对应。
elem[0…n−1],即构成线性表 SqList 的基础结构 (维基百科)。功能:根据下标 i 直接访问元素 elem[i]。
伪代码:
Element GetElem(SqList *L, int i) {
if (i < 0 || i >= L->length) error;
return L->elem[i];
}
功能:在位置 i 之前插入新元素 x。
实现思路:
length−1 向 i 依次后移元素;elem[i] = x,length++。伪代码:
Status ListInsert(SqList *L, int i, Element x) {
if (i < 0 || i > L->length) return FALSE;
for (int j = L->length - 1; j >= i; j--)
L->elem[j+1] = L->elem[j];
L->elem[i] = x;
L->length++;
return TRUE;
}
功能:删除位置 i 的元素并返回该元素。
实现思路:
elem[i];i+1 到尾部依次前移元素;length--;伪代码:
Element ListDelete(SqList *L, int i) {
if (i < 0 || i >= L->length) error;
Element ret = L->elem[i];
for (int j = i; j < L->length - 1; j++)
L->elem[j] = L->elem[j+1];
L->length--;
return ret;
}
静态数组容量固定;当元素个数接近或超过容量时,需要重新分配更大的连续空间:
newsize = oldsize + Δ(或 oldsize * 2)的内存;| 操作 | 时间复杂度 | 说明 | |
|---|---|---|---|
| 访问 | O(1) | 直接根据下标计算地址 | |
| 插入/删除 | O(n) | 最坏情况需移动 n / n−1 个元素 | |
| (扩容) | O(n) | 重新分配并复制所有元素;摊还复杂度一般为 O(1) 或 O(n) 视实现而定 | (知乎专栏) |
本文从顺序存储的概念、基本操作实现、动态扩容机制到时间复杂度分析,全面梳理了线性表的顺序存储。
希望这篇原创导读能帮助你快速掌握线性表顺序存储与基本操作!
投资学习数据结构,你的算法之路更平坦。加油!







