数据结构与算法实训报告

本文由用户“xiaochaochao1”分享发布 更新时间:2021-06-05 15:28:59 举报文档

以下为《数据结构与算法实训报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

学生实训报告

课程名称

数据结构与算法

班级

软件四班



姓名

赵某某

学号

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; 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ruct LNode;

ElemType e;

LinkList L;

int i,n,t,a,b,x;

printf("请输入链表中最开始的数据个数\n");

scanf("%d",&n);

printf("请输入链表中最开始的数据\n");

CreateList_L(L,n);

printf("目前表中元素为:\n");

PrintList_L(L);

printf("请输入需要插入元素的位置:");

scanf("%d",&i);

printf("请输入需要插入元素的的值:");

scanf("%d",&e);

t=LinkInsert_L(L,i,e);

if(t==OK)

{

printf("插入成功!");

printf("插入成功后的链表中元素为:\n");

PrintList_L(L);

}

else

{

printf("插入失败!");

}

printf("请输入需要得到指定元素的位置:\n");

scanf("%d",&i);

a=GetElem_L(L, i,e);

if(a==OK)

{

printf("得到成功!");

printf("得到成功后的元素为%d\n",e);

}

else

{

printf("得到失败!");

}

printf("请输入需要删除元素的位置:\n");

scanf("%d",&i);

b=LinkDelete_L(L,i,e);

if(b==OK)

{

printf("删除成功!");

printf("删除的元素为%d\n",e);

printf("删除成功后的链表元素为:\n");

PrintList_L(L);

}

else

{

printf("删除失败!\n");

}

printf("就地转置单某某:\n");

ConverseList(L);

PrintList_L(L);

printf("请输入需要查找的元素:\n");

scanf("%d",&x);

LocateElem(L,x);

printf("查找的元素在第%d个位置",i);

return 0;

}



五、运行结果

/



六、小结

这个线性表弄得还不是很懂,还得继续学





[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《数据结构与算法实训报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览