正在加载图片...
实验1:线性表的顺序表示与链式表示的插入与删除 1.A实验:算法调试 (1)实验目的:加深理解线性表的顺序表示与链式表示的意义和区别,理解用它们表 示时插入与删除操作的算法 (2)实验要求:理解 Initlist sq、 ListInsert Sq、 ListDelete Sq和 Initlist l、 ListInsert l、 ListDelete l等算法。 (3)实验内容:设计一组输入数据并编写主程序分别调用上述算法(顺序表示的算法 为 Initlist Sq、 ListInsert Sq、 ListDelete Sq等,链式表示的算法为 Initlist l、 ListInsert l、 ListDelete l等),调试程序并对相应的输出作出 分析:修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解 (4)实验指导:顺序表示和链式表示可以分成两个程序来调试(见示例程序1和2) 教材中的算法一般要作少许修改才能运行,这些修改包括 1、算法函数中局部变量的定义,如 ListInsert sq中的i, newbase,p,q等; 2、可能出现的“类”C语言的语句,必须改为C语言语句,如数据交换语句x←>y 3、如果采用TC作为C语言调试环境,算法函数的“引用”类型参数要改为指 针类型参数并修改程序中的使用方法,如 ListInsert sq中的参数&要改为 L。程序中使用L方法的修改见示例程序1。 个简单程序通常主要由三部分构成 1、常量定义(# define),类型定义( typedef)及函数原型定义(# include) 2、算法函数,即 InitList Sq、 ListInsert Sq、 ListDelete Sq等 3、主函数 示例程序1, InitList Sq、 ListInsert Sq、 ListDelete Sq在TC2.0中的调试: #include stdio. h #include malloc. h #define true 1 #define false o #define ok #define error o #define infeasible -1 #define overflow-2 #define list INit size 10 #define listincrement 4 typedef int Status typedef int elemType typedef struct ElemType *elem int length int listsize Status InitList Sq (sqList *L) L->elem=(Elem Type *)malloc(LIST_ INIT_ SIZE*s izeof(El em T ype))实验 1:线性表的顺序表示与链式表示的插入与删除 1. A 实验: 算法调试 (1) 实验目的:加深理解线性表的顺序表示与链式表示的意义和区别,理解用它们表 示时插入与删除操作的算法。 (2) 实验要求:理解 InitList_Sq、ListInsert_Sq、ListDelete_Sq 和 InitList_L、 ListInsert_L、ListDelete_L 等算法。 (3) 实验内容:设计一组输入数据并编写主程序分别调用上述算法(顺序表示的算法 为 InitList_Sq、ListInsert_Sq、ListDelete_Sq 等,链式表 示的算法为 InitList_L、ListInsert_L、ListDelete_L 等),调试程序并对相应的输出作出 分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。 (4) 实验指导:顺序表示和链式表示可以分成两个程序来调试(见示例程序1和2)。 教材中的算法一般要作少许修改才能运行,这些修改包括: 1、算法函数中局部变量的定义,如 ListInsert_Sq 中的 i,newbase,p,q 等; 2、可能出现的“类”C 语言的语句,必须改为 C 语言语句,如数据交换语句 x>y; 3、如果采用 TC 作为 C 语言调试环境,算法函数的“引用”类型参数要改为指 针类型参数并修改程序中的使用方法,如 ListInsert_Sq 中的参数&L 要改为 *L。程序中使用 L 方法的修改见示例程序1。 一个简单程序通常主要由三部分构成: 1、常量定义(#define),类型定义(typedef)及函数原型定义(#include); 2、算法函数,即 InitList_Sq、ListInsert_Sq、ListDelete_Sq 等; 3、主函数。 示例程序1,InitList_Sq、ListInsert_Sq、ListDelete_Sq 在 TC2.0 中的调试: #include "stdio.h" #include "malloc.h" #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #define LIST_INIT_SIZE 10 #define LISTINCREMENT 4 typedef int Status; typedef int ElemType; typedef struct{ ElemType *elem; int length; int listsize; }SqList; Status InitList_Sq(SqList *L){ L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有