全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C语言线性表顺序存储结构实例详解

C语言线性表顺序存储结构实例详解

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;  //空表长度为0
  L.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语言线性表顺序存储结构  # C语言数组存储  # C语言线性表的顺序表示与实现实例详解  # C语言编程数据结构线性表之顺序表和链表原理分析  # C语言 数据结构链表的实例(十九种操作)  # 用C语言举例讲解数据结构中的算法复杂度结与顺序表  # C语言数据结构线性表教程示例详解  # 线性表  # 请输入  # 存储容量  # 设为  # 希望能  # 并将  # 谢谢大家  # 而定  # 不正确  # 已满  # 为空  # 不合法  # 长度为  # Increment  # Max  # int  # gt  # struct  # typedef  # define 


相关文章: 品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  深圳网站制作案例,网页的相关名词有哪些?  七夕网站制作视频,七夕大促活动怎么报名?  建站之星如何实现PC+手机+微信网站五合一建站?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  香港服务器租用费用高吗?如何避免常见误区?  如何选择PHP开源工具快速搭建网站?  建站之星伪静态规则如何设置?  建站主机是什么?如何选择适合的建站主机?  网站制作公司排行榜,四大门户网站排名?  ,在苏州找工作,上哪个网站比较好?  外贸公司网站制作哪家好,maersk船公司官网?  宁波免费建站如何选择可靠模板与平台?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何访问已购建站主机并解决登录问题?  焦点电影公司作品,电影焦点结局是什么?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  如何在阿里云ECS服务器部署织梦CMS网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何快速搭建二级域名独立网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何在IIS中新建站点并配置端口与物理路径?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站OpenVZ教程与优化策略:配置指南与性能提升  建站之星备案流程有哪些注意事项?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  建站主机助手选型指南:2025年热门推荐与高效部署技巧  C++如何编写函数模板?(泛型编程入门)  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  如何用y主机助手快速搭建网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  如何高效完成独享虚拟主机建站?  北京网站制作网页,网站升级改版需要多久?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何零基础开发自助建站系统?完整教程解析  如何登录建站主机?访问步骤全解析  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  c# 在ASP.NET Core中管理和取消后台任务  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何快速使用云服务器搭建个人网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  大同网页,大同瑞慈医院官网?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何用wdcp快速搭建高效网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。