首页 > 编程语言 > 详细

数据结构与算法——顺序表

时间:2020-06-17 09:15:29      阅读:74      评论:0      收藏:0      [点我收藏+]

1. 顺序表的原理以及实现: 

顺序表是简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以

快速定位第几个元素,中间不允许有空值,插入、删除时需要移动大量元素。
顺序表的三个要素:

  • 用elems 记录存储位置的基地址
  • 分配一段连续的存储空间size
  • 用length 记录实际的元素个数,即顺序表的长度

 技术分享图片

结构体定义

#define MAX_SIZE 100

struct _SqList
{
    ElemType *elems;     // 顺序表的基地址
    int length;          // 顺序表的长度
    int size;            // 顺序表总的空间大小
}

顺序表的初始化

 1 #define MAX_SIZE 100
 2 typedef struct{
 3 int *elems;    // 顺序表的基地址
 4 int length;    // 顺序表的长度
 5 int size;     // 顺序表的空间
 6 }SqList;
 7 bool initList(SqList &L)     //构造一个空的顺序表L
 8 {
 9 L.elems=new int[MAX_SIZE];    //为顺序表分配Maxsize 个空间
10 if(!L.elems) return false;    //存储分配失败
11 L.length=0;             //空表长度为0
12 L.size = MAX_SIZE;
13 return true;
14 }

技术分享图片

 

 

2. 顺序表添加元素: 

1 bool listAppend(SqList &L, int e)
2 {
3   if(L.length==MAX_SIZE) return false; //存储空间已满
4   L.elems[L.length] = e;
5   L.length++;               //表长增1
6   return true;
7 }

技术分享图片

3. 顺序表插入元素

 

4. 顺序表删除元素

 

5. 顺序表销毁

 

6. 完整实现

 

7. 企业级应用案例

 

 

 

 

 

=======================================================================================================================

 

数据结构与算法——顺序表

原文:https://www.cnblogs.com/CooCoChoco/p/13150200.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!