- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 线性表;第2章 线性表;2.1 线性表的基本概念;2.1.1 线性表的定义;2.1.2 线性表的基本操作;2.2 线性表的顺序存储结构及其算法;2.2.2 顺序表的运算;int insertsqlist(int i,elementtype x,SqList *sql)
{ /*在顺序表(*sql)的第i个元素之前插入一个新元素x*/
int j;
if((i1)||(isql-len)) /*i值非法,返回值为0*/
return(0);
else
{
for(j=sql-len;j=i;j--)
sql-s[j+1]=sql-s[j]; /*向后移动数据,腾出要插入的空位*/
sql-s[j+1]=x; /*修正插入位置为j+1*/
(sql-len)++; /*表长加1*/
return(1); /*插入成功,返回值为1*/
}
};2. 删除运算;int delsqlist(int i,SqList *sql) /*删除顺序表(*sql)的第i个元素*/
{
int j;
if((i1)||(isql-len)) /*i值非法,返回值为0*/
return(0);
else
{
for(j=i+1;j=sql-len;j++)
sql-s[j-1]=sql-s[j]; /*向前移动数据,覆盖前一数据*/
(sql-len)--; /*表长度减1*/
return(1); /*删除成功,返回值为1*/
}
};2.3.1 线性表的链式存储结构;线性链表是通过结点指针域中的指针表示各结点之间的线性关系的。;2.3.2 单链表的运算;NODE *create() /*此函数采用后插入方式建立单链表*/
{
NODE *head,*q,*p; /*定义指针变量*/
char ch;
int a;
head=(NODE*)malloc(sizeof(NODE));
/*申请新的存储空间,建立表头结点*/
q=head;
ch=*;
printf(\nInput the list :);
;while(ch!=?)
/*ch为是否建立新结点的标志,若ch为?则输入结束*/
{
scanf(%d,a); /*输入新元素*/
p=(NODE*)malloc(sizeof(NODE));
p-data=a;
q-next=p;
q=p;
ch=getchar(); /*读入输入与否的标志*/
}
q-next=NULL;
return(head); /*返回表头指针head*/
}
;2. 单链表中结点的查找;NODE *locate(NODE *head,int x) /*在已知链表中查找给定的值x*/
{
NODE *p;
p=head-next;
while((p!=NULL)(p-data!=x)) /*未到表尾且未找到给定数据*/
p=p-next; /*指向下一个元素*/
return(p);
};NODE *find(NODE *head,int i) /*在已知链表中查找给定???值x*/
{
int j=1;
NODE *p;
p=head-next;
while((p!=NULL)(ji)) /*未到表尾且未找到给定数据*/
{
p=p-next; /*指向下一个元素*/
j++;
}
return(p);
};3. 单链表上的插入运算;void insert(NODE *p,int x) /*在链表的p结点后插入给定元素x*/
{
NODE *q;
q=(NODE*)malloc(sizeof(NODE)); /*申请新的存储空间*/
q-data=x;
q-next=p-next; /*实现图的①*/
p-next=q; /*实现图的②,将新结点q链接到p结点之后*/
};4. 单链表上的删除运算;void delete(NODE *head,int x) /*删除链表
您可能关注的文档
- 建筑施工技术 第二版 ppt第2章 地基处理与桩基础.ppt
- 建筑施工技术 第二版 ppt第3章 砌体工程 新.ppt
- 建筑施工技术 第二版 ppt第4章 钢筋混凝土工程.ppt
- 建筑施工技术 第二版 ppt第5章 脚手架工程.ppt
- 建筑施工技术 第二版 ppt第8章 结构安装工程.ppt
- 建筑施工技术 第二版 ppt第9章 钢结构工程.ppt
- 建筑施工技术 第二版 ppt第12章 建筑装饰.ppt
- 建筑施工技术 第二版 ppt第十章 防水工程.ppt
- 建筑施工技术 第二版 ppt绪论 钱大行.ppt
- 建筑识图与建筑构造学习情境1.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第六章 图.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第七章 查找.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第三章 栈与队列.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第四章 串.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第五章 树.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件第一章 绪论.ppt
- 数据结构 第四版 高职计算机应用技术专业 安训国 课件数据结构首页.ppt
- 数据库系统及应用 第五版 高职计算机大类专业基础 赖申江数据库 第1章.ppt
- 数据库系统及应用 第五版 高职计算机大类专业基础 赖申江数据库 第2章.ppt
- 数据库系统及应用 第五版 高职计算机大类专业基础 赖申江数据库 第3章.ppt
原创力文档


文档评论(0)