以下为《数据结构与算法实训报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
学生实训报告
课程名称
数据结构与算法
班级
软件四班
姓名
赵某某
学号
B***411
指导老师
刘某某
实训评分 □优 □良 □中 □及格 □不及格
一、实训名称
线性表的基本操作
二、实训目的
1.掌握线性表的基本概念
2.掌握线性表的存储结构(顺序存储与链式存储)
3.掌握线性表的基本操作
三、实训要求
1.线性表可以顺序表也可以用单链表实现,鼓励大家用两种方式实现。
2.创建线性表时,数据从键盘输入整形数据
3.线性表类型定义和或各种操作的实现,可以用教材给出的方法,也可以自己设计。
4.使用上述线性表的操作实现归并、头插法建表等算法。
四、实训内容
(需给出完整的分析、设计与实现过程,以及实现的代码)
#include
using namespace std;
#include
#include
#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define IINFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 10
#define LISTINCREAMENT 2
typedef int ElemType;
typedef int Status;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void CreateList_L(LinkList &L,int n)
{
int i;
LinkList p;
L=(LinkList)malloc(sizeof(LNode));
L->next = NULL;
for(i=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
}
void PrintList_L(LinkList L)
{
LinkList p=L->next;
while(p)
{
printf("%d",p->data);
p=p->next;
}
printf("\n");
}
Status GetElem_L(LinkList L,int i,ElemType &e)
{
LinkList p;
p=L->next;
int j=1;
while(p&&jnext;
++j;
}
if(!p||j>i)
return ERROR;
e=p->data;
return OK;
}
Status LinkInsert_L(LinkList &L,int i,ElemType e)
{
LinkList p;
LinkList s;
p=L;
int j=0;
while(p&&j
以上为《数据结构与算法实训报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。