河南农业大学数据结构实验报告一.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河南农业大学 数据结构 实验报告 专业/班级 实验时间 12月份 地点 菊潭机房一 姓名 张瑞芳 实验 一 实验目的 1.掌握线性表的基本操作:建表、插入、删除、输出等运算在链式存储结构上的实现。 2.掌握栈、队列、串的基本操作:栈的初始化、入栈、出栈、栈的判空等运算在顺序存储结构上的实现。 问题描述 1.试编写一个计算头结点指针为L的单链表长度的算法。 2.写一个算法,借助栈将一个带头结点的单链表倒置。 要求:利用栈的特征,先沿着链表从头至尾扫描一遍,将链表的每个结点的data域的值依次进栈,然后再沿着链表从头至尾扫描一遍,同时栈中元素依次出栈,并填入到链表的每个结点的data域中。 3.已知一顺序表A,其元素值非递减有序排列,编写一个算法,删除顺序表中多余的值相同的元素。 4.写一算法,将一个顺序栈中的元素依次取出,并打印元素值。 5.写一算法,将一个链式队列中的元素依次取出,并打印元素值。 6.写一个算法,借助于栈将一个单链表逆置。 7.利用C的库函数strlen、strcpy(或strcat)写一个算法voidStrDelete(char *S,int i,int m),删除串S中从位置i开始连续的m个字符。若i≥strlen(S),则没有字符被删除;若i+m≥strlen(S),则S中从位置i开始直至末尾的字符均被删去.。 数据结构设计 功能设计 1.试编写一个计算头结点指针为L的单链表长度的算法。 /*线性表的单链表存储结构表示如下:*/ typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; 算法程序如下: int InitList_Link(Linklist L)/*构造一个新的线性表L*/ {L.elem=(ElemType *) malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L.elem)exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return ok; }//InitList_Link int LinkList Creat_Link L(Linklist L) { LinkList L=NULL; LNode *s; int x; scanf(%d,x); while (x!=flag) { s=malloc(sizeof(LNode)); s-data=x; s-next=L; L=s; scanf (%d,x); } return L; } int Length_L(LinkList L) { p=L-next; k=0; while(p!=NULL) { k++; p=p-next; } return(k); int main() { InitList_Link(Linklist L); Creat_Link L(Linklist L); Length_L(LinkList L) ; int k,*p; } printf(链表长度是:%d,k); return 0; } 2.写一个算法,借助栈将一个带头结点的单链表倒置。 利用栈的特征,先沿着链表从头至尾扫描一遍,将链表的每个结点的data域的值依次进栈,然后再沿着链表从头至尾扫描一遍,同时栈中元素依次出栈,并填入到链表的每个结点的data域中。 线性表的单链表存储结构表示如下: typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; 算法程序如下 #includestdio.h #includemalloc.h #includestdlib.h #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct LNode { int data; struct LNode *next; }LNod

文档评论(0)

菜心 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档