当前位置: 首页 > news >正文

线性表的顺序存储

1.创建:实质是对data与length的修改

//定义一个线性表 
typedef struct
{int data[MaxSize];//存储线性表的元素 int length;//线性表的长度 
}SqList;
//新建一个表
void create(SqList &l){//传入地址才可以对其值进行改变 printf("请输入线性表的长度:\n");scanf("%d",&l.length);printf("请输入线性表的元素:\n");for(int count=0;count<l.length;count++)scanf("%d",&l.data[count]);printf("\n线性表创建成功!\n");
} 

2.添加:数组元素的后移

printf("\n线性表元素为:");for(i=0;i<l.length;i++)printf("%d\t",l.data[i]);} 
//插入元素方法
void insert(SqList &l,int i,int x)//要改变某个值,请传入它的地址才能实现对其值的操作 
{int j; //非法判断:插入位置与表的容量if(l.length>MaxSize)printf("该表已满,无法插入!");if(i<1||i>l.length+1)printf("插入序号不合法!");if(i<=l.length)//插入位置不在元素末时,其后元素后移for(j=l.length-1;j>=i-1;j--) l.data[j+1]=l.data[j];l.data[i-1]=x;//插入位置在元素末时,直接插入 l.length++;printf("\nlength:%d",l.length);printf("\nx:%d",x);printf("\n插入成功!");}

3.删除:数组元素的前移

void dele(SqList &l,int i)
{int j,e; //非法判断if(l.length==0)printf("该表为空!");if(i<1||i>l.length)printf("删除序号不合法!");e=l.data[i-1];if(i<l.length)//元素前移{for(j=i-1;j<l.length;j++)l.data[j]=l.data[j+1];}l.length--;printf("\n删除成功!");printf("\n删除元素值为:%d",e);
}

3.打印:实质是遍历输出

//输出线性表
static void print(SqList l)
{int i;printf("\n线性表元素为:");for(i=0;i<l.length;i++)printf("%d\t",l.data[i]);} 

4.主函数

#define MaxSize 20//数组的大小 
#include<stdio.h>
int main() 
{SqList l;int a,b,c;create(l);print(l);
printf("\n请输入要插入位置:");scanf("%d",&a);
printf("\n请输入要插入元素:");scanf("%d",&b);insert(l,a,b);print(l);
printf("\n请输入要删除的元素序号:");scanf("%d",&b);dele(l,b);print(l);
}```
http://www.lryc.cn/news/218186.html

相关文章:

  • ChinaSoft 论坛巡礼 | 安全攸关软件的智能化开发方法论坛
  • 采用XML作为GUI描述语言
  • rust入门基础案例:猜数字游戏
  • vue-cli5.0.x优雅降级,配置项目兼容旧版浏览器
  • 关于RabbitMQ的小总结
  • webgoat靶场攻关
  • BEV-YOLO 论文学习
  • C++可以使用负数作为下标索引
  • react+canvas实现横跨整个页面的动态的波浪线(贝塞尔曲线)
  • 峰回网关数采PLC
  • Vue+element el-date-picker 时间日期选择器设置默认值,选择框不显示问题(已解决)
  • 数据挖掘题目:根据规则模板和信息表找出R中的所有强关联规则,基于信息增益、利用判定树进行归纳分类,计算信息熵的代码
  • Reshape.XL 1.2 for Excel插件 Crack
  • 开发知识点-PHP从小白到拍簧片
  • 飞书开发学习笔记(二)-云文档简单开发练习
  • 设计模式——命令模式(Command Pattern)+ Spring相关源码
  • [开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能
  • Scala语言用Selenium库写一个爬虫模版
  • ZZ038 物联网应用与服务赛题第I套
  • ClickHouse 学习之基础入门(一)
  • HttpClient基本使用
  • 力扣:150. 逆波兰表达式求值(Python3)
  • Tomcat运行日志乱码问题/项目用tomcat启动时窗口日志乱码
  • Leetcode—199.二叉树的右视图【中等】
  • 微信小程序如何跳转到外部小程序
  • ElasticSearch集群环境搭建
  • [架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库
  • delaunay和voronoi图 人脸三角剖分
  • MySQL数据库之表的增删查改
  • (论文阅读11/100)Fast R-CNN