| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 顺序表及其初始化、头插、头删、尾插、尾删、在指定位置插入和删除元素、查找、扩容等操作 -> 正文阅读 |
|
[数据结构与算法]顺序表及其初始化、头插、头删、尾插、尾删、在指定位置插入和删除元素、查找、扩容等操作 |
首先记录一下线性表的概念:线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串。 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。 顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 顺序表一般可以分为: 1. 静态顺序表:使用定长数组存储元素。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2. 动态顺序表:使用动态开辟的数组存储。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?基本操作及其实现:
//1. 顺序表初始化 void SeqListInit(SeqList* psl, size_t capacity);
// 2.检查空间,如果满了,进行增容 void CheckCapacity(SeqList* psl);
// 3.顺序表尾插 void SeqListPushBack(SeqList* psl, SLDataType x);
// 4.顺序表尾删 void SeqListPopBack(SeqList* psl);
// 5.顺序表头插 void SeqListPushFront(SeqList* psl, SLDataType x);
// 6.顺序表头删 void SeqListPopFront(SeqList* psl);
// 7.顺序表查找 int SeqListFind(SeqList* psl, SLDataType x);
// 8.顺序表在pos位置插入x void SeqListInsert(SeqList* psl, size_t pos, SLDataType x);
//9. 顺序表删除pos位置的值 void SeqListErase(SeqList* psl, size_t pos);
// 10.顺序表销毁 void SeqListDestory(SeqList* psl);
// 11.顺序表打印 void SeqListPrint(SeqList* psl);
// 12.检测顺序表是否为空 int SeqListEmpty(SeqList* ps)
// 13.获取顺序表中有效元素个数 int SeqListSize(SeqList* ps)
// 14.获取顺序表的容量 int SeqListCapacity(SeqList* ps)
顺序表存在的一些问题:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:37:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |