c语言线性表顺序存储实验小结,数据结构学习笔记-线性表顺序存储(C语言实现)...
写了一天,终于将线性表的顺序存储实现了,顺便恶补了一下指针内容。顺序存储,适合做查询,链式存储适合做增删。
添加方法主要就是将线性表从后往前遍历,依次往后挪一位,直到空出想要插入的位置,删除方法就是将线性表从要删除
的地方往后遍历,依次往前挪一位。
#include #include #define MAXLENGTH 20
typedef int Eletype;
typedef struct{
Eletype data[MAXLENGTH];
int length;
}SqList;
void init(SqList *l){
l->length=0;
}
void addData(SqList *l){
l->length=5;
for(int i=0;ilength;i++){
l->data[i]=i+1;
}
}
void addsData(SqList *l){
l->length=5;
for(int i=0;ilength;i++){
l->data[i]=i*2;
}
}
void getEle(SqList l,int index,Eletype *e){
if(l.length<1){
printf("该线性表为空\n");
return ;
}else{
if(index<=l.length&&index>0){
*e=l.data[index-1];
}else{
printf("所取的位置不在线性表范围内\n");
return ;
}
}
}
void display(SqList l,int size){
Eletype e;
printf("线性表中数据为:\n");
for(int i=1;i<=size;i++){
getEle(l,i,&e);
printf("%d ",e);
}
printf("\n");
}
void insertEle(SqList *l,int index,Eletype e){
if(l->lengthlength&&index>0){
for(int i=l->length-1;i>=index-1;i--){
l->data[i+1]=l->data[i];
}
l->data[index-1]=e;
l->length++;
}else if((index-1)==l->length){
l->data[index-1]=e;
l->length++;
}else{
printf("所插入的位置不在线性表范围内\n");
return ;
}
}else{
printf("所要插入的线性表已满\n");
return ;
}
}
void deleteEle(SqList *l,int index,Eletype *e){
if(l->length<1){
printf("该线性表为空\n");
return ;
}else{
if(index>l->length||index<1){
printf("所要删除的数据不在线性表范围内\n");
}else{
*e=l->data[index-1];
for(int i=index-1;ilength;i++){
l->data[i]=l->data[i+1];
}
l->length--;
}
}
}
int hnh(SqList l,Eletype e){
int result;
for(int i=0;ilength;
q++;
insertEle(a,q,e);
continue;
}else{
continue;
}
}
}
int main()
{
SqList l,s;
Eletype e;
init(&l);
addData(&l);
addsData(&s);
display(l,5);
display(s,5);
hb(&l,s);
display(l,8);
}
c语言线性表顺序存储实验小结,数据结构学习笔记-线性表顺序存储(C语言实现)...相关推荐
- 数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o
目录 前言 一.顺序表的定义 二.顺序表的初始化 三.顺序表的建立 四.顺序表的输出 五.顺序表的逆序输出 六.顺序表的插入操作 七.顺序表的删除操作 八.顺序表的按位和按值查找 基本操作的完整代码 ...
- 人们通常先在线性表尾部临时添加一个_数据结构学习笔记-线性表
我们经常会处理一系列类型相同的数据, 创建这种元素组, 读取和修改 当我们处理一个具有有穷或者无穷的元素数据集的时候, 我们需要将其作为一个整体来管理和使用, 用变量去表示它们, 传入和传出函数等等. ...
- 数据结构学习笔记——线性表逻辑结构和顺序存储结构
2.1线性表的逻辑结构 线性表的数据元素的特点:同一数据类型 一.线性表的逻辑定义 线性表是由n个数据元素(结点)a1,a2,-,an组成的有限序列. 二.线性表的基本运算 2.2线性表的顺序存储结 ...
- c语言查看cpu温度代码_树莓派学习笔记——短短几行C语言代码获取树莓派的CPU温度...
玩转树莓派 标签: 树莓派CPU温度 前言 本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_ ...
- 数据结构学习笔记(七):哈希表(Hash Table)
目录 1 哈希表的含义与结构特点 1.1 哈希(Hash)即无序 1.2 从数组看哈希表的结构特点 2 哈希函数(Hash Function)与哈希冲突(Hash Collision) 2.1 哈希函 ...
- 数据结构学习笔记(王道)
数据结构学习笔记(王道) PS:本文章部分内容参考自王道考研数据结构笔记 文章目录 数据结构学习笔记(王道) 一.绪论 1.1. 数据结构 1.2. 算法 1.2.1. 算法的基本概念 1.2.2. ...
- 数据结构学习笔记(五):重识字符串(String)
目录 1 字符串与数组的关系 1.1 字符串与数组的联系 1.2 字符串与数组的区别 2 实现字符串的链式存储(Java) 3 子串查找的简单实现 1 字符串与数组的关系 1.1 字符串与数组的联系 ...
- 《数据结构学习笔记》-持续记录
数据结构学习笔记 1.基本概念 1.1 数据 2.数据结构 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构 2.1.3 树形结构 2.1.4 图形结构 2.2物理结构(存储结构) 2.2. ...
- 考研数据结构学习笔记1
考研数据结构学习笔记1 一.绪论 1.基本概念和术语 2.数据结构三要素 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构:一对一 2.1.3 树形结构:一对多 2.1.4 图状结构:多对多 ...
最新文章
- iOS15.4 来袭:新增“男妈妈”表情及口罩面容解锁、AirTags 反跟踪等新功能
- appium-java自动化框架设计学习
- LeetCode周赛191
- 数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
- 《Python Cookbook 3rd》笔记(4.11):同时迭代多个序列
- 信息学奥赛一本通 1167:再求f(x,n)
- matlab表白_撩妹攻略|理工男专属情人节表白礼物来啦~
- 从个人经历出发,说说如何0基础学Java
- LayaAir Graphics.drawTexture 显示与切换图片
- arduino 部分有用的函数
- Spark中的python shell交互界面Ipython和jupyter notebook
- 自己开店用什么收银系统好-纳客收银系统
- 计算机房电磁辐射防护,机房防辐射处理解决方案
- css2D、3D详解
- 基于STM32的指纹锁
- 利用CSS3动画制作“百度浏览器”官网奔跑的北极熊
- 画一幅表现压力的抽象画,我是这样画的
- VS2017、opencv安装
- 【Excel 如何对比两个文件】
- java学籍管理系统课设报告,基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源...