线性表顺序存储结构操作算法
线性表顺序存储结构操作算法
**
- 顺序表的初始化
- 线性表的插入算法
- 线性表的删除算法
- 线性表的查找算法**
根据书本的知识线性表顺序存储结构的操作算法其实是我们刚进入数据结构与算法的必修课
其实算法无法就是怎么解决的思路,更快的思路罢了!
下面开始讲解
1.顺序表的初始化
typedef struct{DataType list[MAXSIZE];/*数组*/int length;/*元素的个数*/
}Sqlist;Sqlist *init_Sqlist(){Sqlist *L; //表示定义了一个指向Sqlist的指针
L = malloc(sizeof(Sqlist)); //开拓一块内存
L->length=0;
return L;
}L=init_Sqlist();
2.插入算法
int ChaRu(Sqlist *L,int i,DataType x)
{int j;if(L->length==MAXSIZE){printf("表满,不能进行插入");return -1;}if(i<1||i>L->length+1){printf("插入非法位置");return 0;}for(j=L->length;j>=i;j--){L->list[j+1]=L->list[j]; //依次往后赋值,空出一个位置}L->list[i]=x;L->length++; //因为插入了一个元素,所以要加一个长度单位
}CharRu(L,3,10); // 在i=3的位置插入10
3.删除算法
void ShanChu(Sqlist *L,int i)
{int j;if(L->length==0){printf("表空,不能进行删除");}if(i<1||i>L->length){printf("删除的位置不正确");}for(j=i+1;j<=L->length;j++){L->list[j-1]=L->list[j]; //同上}L->length--;}ShanChu(L,3); // 删除i=3的位置
4.线性表的查找
int ChaZhao(Sqlist *L,DataType x){int i=L->length;while(i>0){if(L->list[i]==x) return ii--;}if(i==0) return -1;
}ChaZhao(L,9);
typedef用法
typedef int DataType; 意思是给DataType 赋值上int整型元素
为什么是typedef struct{DataType list[MAXSIZE];/*数组*/int length;/*元素的个数*/
}
因为这个struct里面有DataType
线性表顺序存储结构操作算法相关推荐
- 数据结构线性表顺序存储结构和主要算法实现
(1) 线性表的定义. 零个或多个数据元素的有限序列 序列线性表中有直接后继元素,有且仅有一个直接后继,有且仅有一个直接前驱,数据元素之间的关系是一对一的关系 常用的List操作: Operation ...
- 《数据结构与算法》——线性表顺序存储结构的插入与删除
什么是线性表? 线性表是最基本.最简单.也是最常用的一种数据结构.线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列. 线性表中数据元素之间的关系是一对 ...
- 第三章 线性表---顺序存储结构
线性表(List):零个或多个数据元素的有限序列. 若将线性表记为(a1, ..., ai-1, ai , ai+1 , ..., an),则表中 ai-1 领先于ai , ai领先于ai+1,称ai ...
- 线性表 :: 顺序存储结构的实现
线性表 :: 顺序存储结构的实现 说明:本文属于读书笔记.笔者将以讲述的方式表达全片文章.故文中提到的某些字词是非正式术语,只是笔者本人的理解性词语. 线性表简介:想要了解点击此处 目录 顺序存储结构 ...
- 线性表定义 线性表顺序存储结构
写在前面:本文章来自于在学习过程中的总结,供大家参考.因水平有限,博客中难免会有不足,恳请大佬们不吝赐教! 文章目录 线性表的定义 线性表的顺序存储结构 线性表顺序存储结构的优缺点 线性表的基本操作 ...
- 线性表-顺序存储结构
线性表-顺序存储结构 线性表基本概念: 线性结构的基本特征为: 集合中必存在唯一的一个"第一元素": 集合中必存在唯一的一个 "最后元素" : 除最后元素在外, ...
- 使用Java模拟线性表顺序存储结构
在数据结构中,线性表分两种结构 顺序结构和链表结构 下面使用Java模拟一下顺序结构 主要难点在顺序结构的插入和删除 import java.util.ArrayList;//线性表顺序存储结构 pu ...
- 数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码
数据结构严蔚敏C语言版-线性表顺序存储结构(顺序表)C语言实现相关代码 1.运行环境 2.准备工作 1)项目构建 1>新建一个SeqList项目 2>新建两个文件Sources和Heade ...
- 线性表顺序存储结构图书管理
线性表顺序存储结构图书管理 一开始看书里面的线性表的顺序存储结构,感觉简单,觉得动态链表才能做出一点东西,但是顺序存储不仅于此,也能做出来.顺序结构相比链式结构,内容上有较大差异,各有难点 文章目录 ...
最新文章
- MongoDB的安装及基本命令和pymongo的使用
- 错误代码大全【100(临时响应)】【200(成功)】【300(已重定向)】【400(请求错误)】【500(服务器错误)】(HTTP协议版本)
- .Netcore 2.0 Ocelot Api网关教程(7)- 限流
- 转载Linq中GroupBy方法的使用总结
- android+fastboot+命令,Android手机fastboot刷机命令
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- Android中图片的处理(放大缩小,去色,转换格式,增加水印等)(转)
- 【Python】【有趣的模块】【systimeos】
- python 每月每周_R-Python:获取每月,每周的索引点
- IIC控制设计读写EEPROM
- [翻译]CSS变量让你轻松制作响应式网页
- 关于常用STM32F103芯片型号代码
- threejs 加载obj模型
- JavaScript prototype原型实现继承
- pandas read_csv sep用法
- Python下selenium的get()方法大量时间超时报错TimeOut
- 关于RC电路特点以及几种常见的典型应用
- 电路模电数电课程中卡诺图知识点(包括化简原则和步骤)
- 【自媒体必备】AI文字转语音,支持多种人声选择,在线生成一键导出【电脑永久版】
- Lotus Miner和分布式设置