下载此文档

数据结构,实验报告.doc


文档分类:办公文档 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
数据结构,实验报告
数据结构实验报告
实验报告
实验课程: 数据结构
实验项目:实验
专业: 计算机科学与技术
姓名: 于凡学号: ********** 指导教师:汪林林
实验时间: 2008-12-7
重庆工学院计算机学院
实验一线性表
1. 实验要求
掌握数据结构中线性表的基本概念。
熟练掌握线性表的基本操作:创建、插入、删除、查找、输出、求长度及合并并运算在顺序存储结构上的实验。
熟练掌握链表的各种操作和应用。
2. 实验内容
编写一个函数,从一个给定的顺序表A中删除元素值在x到y之间的所有元素,要求以较高效率来实现。
#
typedef int elemtype;
#define maxsize 10
int del(int A[],int n,elemtype x,elemtype y)
{
int i=0,k=0;
while(in)
{if(A[i]=x&&A[i]=y)
k++;
else
A[i-k]=A[i];
i++;
}
return(n-k);
}
void main()
{
int i,j;
int a[maxsize];
printf(输入%d个数:\n,maxsize);
for(i=0;imaxsize;i++)
scanf(%d,,&a[i]);
j=del(a,maxsize,1,3);
printf(输出删除后剩下的数:\n);
for(i=0;ij;i++)
printf(%d\n,a[i]);
}
试写一个算法,在无头结点的动态单链表上实现线性表插入操作INSERT(L,i,b)。
void Insert(Linklist &L,int i,elemtype x)
{
if(!L)
{
L=(Linklist)malloc(sizeof(Lnode));
(*L).data=x;(*L).next=NULL;
}
else
{
if(i==1)
{
s=(Linklist)malloc(sizeof(Lnode));
s-data=x;s-next=L;L=s;
}
else
{
p=L;j=1;
while(p&&ji-1)
{j++;p=p-next;}
if(p||ji-1)
return error;
s=(Linklist)malloc(sizeof(Lnode));
s-data=x;s-next=p-next;p-next=s;
}
}
}
生成两个多项式PA和PB,求他们的和,输出“和多项式”。 typedef struct node
{int exp;
float coef;
struct node *next;
}polynode;
polynode *polyadd(polynode *pa,polynode *pb)
{
polynode *p,*q,*pre,*r;
float x;
p=pa-next;
q=pb-next;
pre=pa;
while((p!=NULL)&&(q!=NULL))
if(p-expq-exp)
{
r=q-next;
q-next=p;
pre-next=q;
pre=q;
q=r;
}
else
if(p-exp==q-exp)
{
x=p-coef+q-coef;
if(x!=0)
{p-coef=x;
s=p;
}
else
{pre-next=p-next;
free(p);
}
p=pre-next;
r=p;
q=q-next;
free(r);
}
else
if(p-expq-exp)
{
pre=p;
p=p-next;
}
if(q!=NULL)
pre-next=q;
free(pb);
}
设计一个统计选票的算法,输出每个候选人的得票结果。 typedef int elemtype
typedef struct linknode
{
elemtype data;
struct linknode *next;
}nodetype;
nodetype *create()
{
elemtype d;
nodetype h

数据结构,实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人raojun00001
  • 文件大小49 KB
  • 时间2018-03-26