1、 什么是顺序存储结构?
用一段地址连续的存储单元依次存储线性表的数据元素。
2、

//线性表的顺序存储结构//
#include<stdio.h>
#include<stdlib.h>
#define Max 80  //存储空间初始分配量
#define Increment 10   //存储空间分配增量typedef struct
{int *elem;   // 存储空间基地址,此处为int型,视情况而定 int length;   // 元素表当前长度 int size;   //当亲分配的存储容量
}SqList;

3、顺序表的初始化操作是为顺序表分配一个预定大小的数组空间,并将顺序表的长度设为0。

<一>int InitList(SqList &L)
{L.elem=(int *)malloc(Max*sizeof(int));if(!L.elem)return;//exit(0);  //存储分配失败L.length=0;   //空表长度为0L.size=Max;   //初始存储容量return Ok;
}
<二>int CreatList(SqList &L)
{L.elem=(int *)malloc(Max*sizeof(int));if(!L.emle)return;//exit(0);L.length=0;L.size=Max;printf("请输入表的长度:");scanf("%d",&L.length);printf("请输入%d个数:",L.length);for(i=0;i<L.length;i++)scanf("%d",&L.elem[i]);
}

4.获取元素操作:将线性表中的第i个位置元素值位置返回

int GetElem(SqList &L,int i,int e)
{// 1 <= i <= L.length if( i <1 || i > L.length)return  ERROR;*e=L.elem[i-1];return Ok;
}

5线性表的插入操作

int Insert(SqList &L)
{
int *_new;
int i;
int e;
printf(“输入要插入的位置及其元素:”);
scanf(“%d %d”,&i,&e);
if(i<1||i>L.length)
{
printf(“插入的位置不合法!”);
return ERROR;
}
if(L.length>=L.size) //当前空间已满,增加分配
{
_new=(int)malloc(L.elem,(L.length+Increment)*sizeof(int));
if(!_new) //存储分配失败
return; //exit(0);
L.elem=_new; //新基址
L.size=L.size+Increment; //增加存储容量
}
q=&(L.elem[i-1]); //q为插入的位置
for(p=&(L.elem(L.length-1));p>=q;–p) //插入后元素右移
*q=e; //插入e
++L.length; //长度加一
return OK;
}

6、删除元素```int ListDelete(SqList &L,int i,int *e)
{int k;if(L.length==0)  //线性表为空 return ERROR;if(i<1||i>L.length)  //插入不正确 return ERROR;*e=L.elem[i-1];if(i<L.length)  //如果插入不是最后的位置 {for(k=i;k<L.length;k++)L.elem[k-1]=L.elem[k];}L.length--return OK;
}

c语言线性表顺序存储结构详解相关推荐

  1. 数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码

    数据结构严蔚敏C语言版-线性表顺序存储结构(顺序表)C语言实现相关代码 1.运行环境 2.准备工作 1)项目构建 1>新建一个SeqList项目 2>新建两个文件Sources和Heade ...

  2. 第三章 线性表---顺序存储结构

    线性表(List):零个或多个数据元素的有限序列. 若将线性表记为(a1, ..., ai-1, ai , ai+1 , ..., an),则表中 ai-1 领先于ai , ai领先于ai+1,称ai ...

  3. 使用Java模拟线性表顺序存储结构

    在数据结构中,线性表分两种结构 顺序结构和链表结构 下面使用Java模拟一下顺序结构 主要难点在顺序结构的插入和删除 import java.util.ArrayList;//线性表顺序存储结构 pu ...

  4. 线性表 :: 顺序存储结构的实现

    线性表 :: 顺序存储结构的实现 说明:本文属于读书笔记.笔者将以讲述的方式表达全片文章.故文中提到的某些字词是非正式术语,只是笔者本人的理解性词语. 线性表简介:想要了解点击此处 目录 顺序存储结构 ...

  5. 线性表定义 线性表顺序存储结构

    写在前面:本文章来自于在学习过程中的总结,供大家参考.因水平有限,博客中难免会有不足,恳请大佬们不吝赐教! 文章目录 线性表的定义 线性表的顺序存储结构 线性表顺序存储结构的优缺点 线性表的基本操作 ...

  6. 线性表顺序存储结构操作算法

    线性表顺序存储结构操作算法 ** 顺序表的初始化 线性表的插入算法 线性表的删除算法 线性表的查找算法** 根据书本的知识线性表顺序存储结构的操作算法其实是我们刚进入数据结构与算法的必修课 其实算法无 ...

  7. 线性表-顺序存储结构

    线性表-顺序存储结构 线性表基本概念: 线性结构的基本特征为: 集合中必存在唯一的一个"第一元素": 集合中必存在唯一的一个 "最后元素" : 除最后元素在外, ...

  8. 数据结构线性表顺序存储结构和主要算法实现

    (1) 线性表的定义. 零个或多个数据元素的有限序列 序列线性表中有直接后继元素,有且仅有一个直接后继,有且仅有一个直接前驱,数据元素之间的关系是一对一的关系 常用的List操作: Operation ...

  9. 线性表顺序存储结构图书管理

    线性表顺序存储结构图书管理 一开始看书里面的线性表的顺序存储结构,感觉简单,觉得动态链表才能做出一点东西,但是顺序存储不仅于此,也能做出来.顺序结构相比链式结构,内容上有较大差异,各有难点 文章目录 ...

最新文章

  1. Arcmap技巧总结
  2. 在ASP.NET中备份和还原数据库
  3. jpa mysql sql分页查询语句_JPA多条件复杂SQL动态分页查询功能
  4. 问答:双总线并机,可以使用不同品牌的ups吗?
  5. 第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
  6. 【转】C++学习二 vector的用法(使用sort对于vector排序)
  7. DevOps 转型,只有工具是远远不够的!
  8. 一次清空所有数据方法
  9. java 语言的介绍
  10. 教务辅助管理系统mysql_教务管理系统(项目)
  11. LVDS 扫盲基础知识
  12. 爬虫中proxies小分享
  13. 视频水印去除工具哪个好
  14. 沐风:企业网络营销赚钱关键设计
  15. 自适应阈值(adaptiveThreshold)分割原理及实现
  16. C++控制台RPG游戏(序)
  17. 没有计算机网络适配器,WinXP没有网络适配器怎么添加?本地连接消失了如何恢复?...
  18. LaTex命令和环境的定义与重定义
  19. android根目录获取
  20. sEMG项目总结(6)NinaPro肌电数据集(52类动作)

热门文章

  1. 2006年底的1篇CRM文章:对当前国内CRM市场发展的一点拙见。
  2. YouTube资源利用——1)Clip Converter在线下载
  3. “肢解”自动化立体仓库:分分钟了解透彻
  4. 44 转载arcgis api for js 4.x 叠加自定义图片
  5. 网上开店zencart搭建全过程
  6. 人脸识别系统入驻旅馆 保障旅馆安全
  7. shell脚本系列:5、shell参数
  8. 基于Python的对网络评论情感分析:主题与情感词抽取
  9. 【Proteus仿真】【STM32单片机】竞赛抢答器设计
  10. 告别大学生活,出来闯荡!