插入数据结构线性表单链表的查找、插入、删除

怎样删除360  时间:2021-02-14  阅读:()

实验报告课程名称 数据结构

姓名

学号

专业班级指导教师

目录

第二章线性表的查找、插入、删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 .1顺序表的查找. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 .2顺序表的插入. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1 .3顺序表的删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

单链表的建立、插入、删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

2.1单链表的建立尾插法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

2.2单链表的插入. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.3单链表的删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

第三章栈. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

3.1链栈. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

3.2顺序栈. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

3.3队列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

3.4杨辉三角. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

第四章串. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .23

4.1字符串的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.2顺序串的插入. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

1 .线性表的查找、插入、删除

1 .1顺序表的查找

程序

#include<stdio.h>

#include<stdl ib.h>

#include<mal loc.h>

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

#define ElemType int

#define MAXSIZE 100/*此处的宏定义常量表示线性表可能达到的最大长度*/typedef struct

{

ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/int last; /*记录线性表中最后一个元素在数组elem[]中的位置(下标值)空表为-1*/

}Seq{l ist;int Locate(Seql ist L,ElemType e)

/*在顺序表L中查找与e相等的元素若L。 elem[i]=e,贝U找到该元素并返回i+1 若找不到则返回-1*/

{ int i=0; /*i为扫描计数器初值为0 即从第一个元素开始比较*/whi le

((i<=L. last)&&(L.elem[i]!=e))

/*顺序扫描表直到找到值为e的元素或扫描到表尾仍没找到*/ i++;if(i<=L. last)retu rn(i+1); /*若找到值为e的元素 贝返回其序号*/elseretu rn(-1); /*若没找到 贝返回空序号*/

}void main()

{

Seql ist l ;intp,q,r;int i ;printf("请输入线性标的长度:");scanf("%d",&r);l . last=r-1;printf("请输入线性表的各元素值 \n");for (i=0; i<=l . last; i++)

}printf("请输入要查找的元素值:\n");sea nf("%d",&q);p=Locate(l ,q);if(p==-1)printf("在此线性表中没有该元素!\n");elseprintf("该素在线性表中的位置为:%d\n",p);

执行结果:

错误分析:在编写过程中在编写主函数的时候有落下未编写的导致运行过程中不识别。

1 .2顺序表的插入

程序:

#include<stdio.h>#include<stdl ib.h>//#include<mal loc.h>

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

#define ElemType int

#define MAXSIZE 100typedef struct

{

ElemType elem[MAXSIZE];int last;

}SeqList;

//#include"common.h"

//#include"seql ist.h"int InsList(SeqList *L, int i ,ElemType e){

intk;if((i<1) | | (i>L->last+2))

{printf("插入位置i值不合法"); return(ERROR);}if(L->last>=MAXSIZE-1)

{printf("表已满无法插入"); return(ERROR);}for(k=L->last;k>=i-1;k--)

L->elem[k+1]=L->elem[k];

L->elem[i-1]=e;

L->last++;retu rn(OK);

}void main()

SeqList *l ;

{

intp,q,r;int i ; l=(SeqList*)mal loc(sizeof(SeqList));printf("请输入线性表的长度:");scanf("%d",&r);l->last=r-1;printf("请输入线性表的各元素值:\n");for(i=0; i<=l->last; i++)

{scanf("%d",&l->elem[i]);

}printf("请输入要插入的位置:\n");scanf("%d",&p);printf("请输入要插入的元素值:\n");scanf("%d",&q);

InsList(l ,p,q);for(i=0; i<=l->last; i++)

{printf("%d", l->elem[i]);

}

执行结果

}

DiyVM:50元/月起-双核,2G内存,50G硬盘,香港/日本/洛杉矶机房

DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...

数脉科技香港自营,10Mbps CN2物理机420元/月

数脉科技怎么样?数脉科技品牌创办于2019,由一家从2012年开始从事idc行业的商家创办,目前主营产品是香港服务器,线路有阿里云线路和自营CN2线路,均为中国大陆直连带宽,适合建站及运行各种负载较高的项目,同时支持人民币、台币、美元等结算,提供支付宝、微信、PayPal付款方式。本次数脉科技给发来了新的7月促销活动,CN2+BGP线路的香港服务器,带宽10m起,配置E3-16G-30M-3IP,...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

怎样删除360为你推荐
bluestacksBluestacks安卓模拟器是什么机型的?伪静态静态与伪静态的区别?显卡温度多少正常显卡温度多少算正常?中小企业信息化什么是企业信息化,应该这样实施iphone越狱后怎么恢复苹果手机越狱后怎么恢复直播加速有没有软件使已经下载好了的视频播放加速,例如30分钟的视频15分钟或者20分钟播放完什么是云平台什么是云系统?宽带接入服务器网络已连接,可无法连接到服务器为什么?网络已连接,可无法连接到服务发邮件怎么发怎么发邮箱网站地图制作如何制作网站地图sitemap,经验分享
独立ip虚拟主机 西部数码vps 金万维动态域名 搬瓦工官网 admit的用法 789电视网 域名评估 91vps 可外链网盘 域名和空间 息壤代理 天翼云盘 免费网页申请 Updog 阿里云官方网站 深圳域名 镇江高防 学生服务器 umax 广州服务器托管 更多