以下为《实验一 顺序表、单链表的基本操作(答案)》的无排版文字预览,完整内容请下载
实验一 顺序表、单链表的基本操作
一、实验方法:
1、项目任务驱动教学法;
2、“讲、学、练”相结合。
二、实验仪器与设备:
1、计算机(要求:CPU 2GHz以上,内存2G以上,磁盘空间500G以上。);
2、VC2010;
三、实验目的:
1、掌握线性表的基本运算。
2、掌握顺序存储的概念,学会对顺序存储数据结构进行操作。
3、加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力。
4、掌握链表的概念,学会对链表进行操作。
5、加深对链式存储数据结构的理解,逐步培养解决实际问题的编程能力。
四、实验重点:
1、顺序存储数据结构的理解,逐步培养解决实际问题的编程能力;
2、链式存储数据结构的理解,逐步培养解决实际问题的编程能力;
五、实验难点:
1、分析程序,设计逻辑覆盖的测试用例
六、实验内容
1、 顺序表
1、编写线性表基本操作函数:
(1)InitList(LIST *L,int ms)初始化线性表;
(2)InsertList(LIST *L,int item,int rc)向线性表的指定位置插入元素;?????????????????????????
(3)DeleteList1(LIST *L,int item)删除指定元素值的线性表记录;
(4)DeleteList2(LIST *L,int rc)删除指定位置的线性表记录;
(5)FindList(LIST *L,int item)查找线性表的元素;
(6)OutputList(LIST *L)输出线性表元素;
2、调用上述函数实现下列操作:
(1)初始化线性表;
(2)调用插入函数建立一个线性表;
(3)在线性表中寻找指定的元素;
(4)在线性表中删除指定值的元素;
(5)在线性表中删除指定位置的元素;
(6)遍历并输出线性表;
?
2、实验结果
(1)顺序表
(2)流程图
(3)程序运行主要结果截图
(4)程序源代码
#include
#include
#include
struct LinearList/*定义线性表结构*/
{
??? int *list;?????? /*存线性表元素*/
??? int size;??????? /*存线性表长度*/
??? int Maxsize;???? /*存list数组元素的个数*/
};
typedef struct LinearList LIST;
void InitList(LIST *L,int ms)/*初始化线性表*/
{
??? if((L->list=(int*)malloc(ms*sizeof(int)))==NULL)
?????? {
?????????? printf("内存申请错误");
???????????? exit(1);
?????? }
?????? L->size=0;
??? L->Maxsize=ms;
}
int InsertList(LIST *L,int item,int rc)/*item记录值;rc插入位置*/
{
??? int i;
??? if(L->size==L->Maxsize)/*线性表已满*/
?????? return -1;
??? if(rcL->size)
??????? rc=L->size;
??? for(i=L->size-1;i>=rc;i--)/*将线性表元素后移*/
?????? L->list[i+=1]= 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ???? if(rc==0)
??????????????? printf("删除成功!\n",rc);
??????????? else
??????????????? printf("没找到!\n");
??????????? break;
??????? case 5:
??????????? printf("\n 链表内容为:\n");
??????????? outputlist(p);
??????????? break;
??????? case 6:
??????????? freelist(&p);
??????????? break;
??????? }
??? }
}
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《实验一 顺序表、单链表的基本操作(答案)》的无排版文字预览,完整内容请下载
实验一 顺序表、单链表的基本操作(答案)由用户“nullspace”分享发布,转载请注明出处