老邱顺序表分册.docVIP

  • 33
  • 0
  • 约2.42万字
  • 约 38页
  • 2017-12-31 发布于河南
  • 举报
老邱顺序表分册

顺序表实验题 实验目的 通过本实验,掌握线性表的顺序存储结构的定义及C语言的实现; 熟练掌握线性表的基本操作在顺序存储结构上的实现; 实验内容 编程实现顺序表的基本操作函数。 (1) void InitList(SqListL) //建立空顺序表函数 void ListInsert(SqListL, int i, ElemType e) //在顺序表中插入元素函数 (3) void ListDelete(SqListL, int i, ElemTypee) //删除顺序表 (4) void PrintList(SqList L) // 输出顺序表函数 int Locate(SqList L, ElemType e) //若顺序表 (6) int ListLength(SqList L) //求顺序表L的表长 已知顺序表中的元素依值递增有序排列,要求将x插入到顺序表的适当位置上,使得插入操作后的顺序表仍保持有序性。 3. 已知顺序表中的元素依值递增有序排列,要求删除表中所有值相同的多余元素(使得操作后的顺序表中所有元素的值均不相同) 4.假设以两个元素依值递增有序排列的顺序表A和B 分别表示两个集合(同一表中的元素值各不相同),现要求另辟空间构成一个顺序表C,其元素为A和B元素的交集,且表C中的元素也是依值递增有序排列。 5. 对4题的条件做如下两点修改,重新编写求表C的算法。 (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同; (2) 利用A表空间存放C。 6.编程实现下列功能:假设以两个元素依值非递减有序排列的顺序表A和B 分别表示两个集合(同一表中的元素值各不相同),求一个新的集合C=A-B,且表C中的元素也是依值递增有序排列。 7.设A=(a1,…,am)和B=(b1,…,bn)均为顺序表,A’和B’分别为A和B中除去最大共同前缀后的子表,若A’=B’=空表,则A=B;若A’=空表,而B’!=空表,或者两者都不为空表,且A’的首元小于B’的首元,则AB;否则A B. 试编程,求出A,B的大小。 实验提示 用C语言的结构体类型定义顺序表: #define initsize 20 //存储空间的初始分配量 #define listadd 10 //分配增量 typedef int ElemType; //顺序表中存放的是整数 typedef struct { ElemType *elem; //存储空间基址 int length; //当前长度 int listsize; //当前分配的存储容量 }SqList; /*顺序表实验题 实验目的 1.通过本实验,掌握线性表的顺序存储结构的定义及C语言的实现; 2.熟练掌握线性表的基本操作在顺序存储结构上的实现; 实验内容 1.编程实现顺序表的基本操作函数。 (1) void InitList(SqListL) //建立空顺序表函数 (2) void ListInsert(SqListL, int i, ElemType e) //在顺序表中第i个位置插入元素函数e (3) void ListDelete(SqListL, int i, ElemTypee) //删除顺序表L的第i个数据元素,并用e返回其值。 (4) void PrintList(SqList L) // 输出顺序表函数 (5) int Locate(SqList L, ElemType e) //若顺序表L中存在数据元素e,则返回e在顺序表L中第一次出现的位序;否则返回0. (6) int ListLength(SqList L) //求顺序表L的表长 */ #include iostream.h #include stdio.h #include stdlib.h #define initsize 2 #define listadd 1 typedef int ElemType ; typedef struct { ElemType *elem; int length; int listsize; }SqList; //(1) void InitList(SqListL) //建立空顺序表函数 void InitList(SqList L) { L.elem =(ElemType *)new ElemType [i

文档评论(0)

1亿VIP精品文档

相关文档