线性表的插入和删除(数据结构).doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性表的插入和删除(数据结构)

电子信息工程学系实验报告 ——适用于计算机课程 课程名称: 实验项目名称:线性表的插入和删除 实验时间: 2012、3、5 班级:计应102 姓名: 学号: 实 验 目 的: 熟悉表 实 验 环 境: C—Free5.0 实 验 内 容 及 过 程: 题目1: 编写程序实现下列的要求: (1) 设数据元素为整数,实现这样的线性表的顺序存储表示。 (2) 键盘输入10个数据元素,利用顺序表的基本操作,建立该表。 (3) 利用顺序表的基本操作,找出表中的最大的和最小的数据元素(用于比较的数据元素为整数)。 (4) * 若数据元素为学生成绩(含姓名、成绩等字段),重新编程,实现上面的要求。要求尽可能少地修改前面的程序来得到新程序。(这里用于比较的字段为分数)编写程序实现下列的要求: (1) 设学生成绩表中的数据元素为学生成绩(含姓名、成绩字段),实现这样的线性表的链式存储表示。 (2) 键盘输入若干个数据元素(用特殊数据来标记输入数据的结束),利用链表的基本操作(前插或后插算法),建立学生成绩单链表。 (3) 键盘输入关键字值x,打印出表中所有关键字值=x的结点数据。(用于比较的关键字字段为分数)。 (4) 输入关键字值x,删除表中所有关键字值=x的结点。(用于比较的关键字字段为分数)。#include stdio.h #include conio.h typedef int datatype; struct seqlist { int maxnum; int n; datatype *element; }; typedef struct seqlist *Pseqlist; Pseqlist creatnulllist_seq(int m) /* 建立空的顺序表 */ { Pseqlist p=(Pseqlist)malloc(sizeof(struct seqlist)); if(p!=NULL) { p-element=(datatype *)malloc(sizeof(datatype)*m); if(p-element!=NULL) { p-maxnum=m; p-n=0; return(p); } else free(p); } printf(out of space); return NULL; } Pseqlist init_seq(Pseqlist p,int n) /* 初始化空的顺序表,即填充数据,顺序表的实际元素个数n 由参数提供*/ { int i; printf(input the element of seqlist:); for(i=0;in;i++) scanf(%d,p-element[i]); p-n=n; return(p); } int insertpost_seq(Pseqlist p,int i,datatype x) /* 在i之后插入一个元素x */ { int j; if(p-n=p-maxnum) { printf(overflow); return(0); } if(i0 || ip-n ) { printf(not exist); return(0); } for(j=p-n-1; j=i+1; j--) p-element[j+1]=p-element[j]; p-element[i+1]=x; p-n++; return(1); } void print(Pseqlist p) /* 打印顺序表中的元素 */ { int i; for(i=0;ip-n

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档