欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构与数据库实验报告张德良电工二.doc

    • 资源ID:2776921       资源大小:108.53KB        全文页数:12页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构与数据库实验报告张德良电工二.doc

    -/实验1 ADT表的编程与实现电工二姓名:张德良学号:201400121076实验目的:加深对抽象数据类型ADT表的理解;实验原理:参照课本p.44-49,及Figure3.6-3.13.实验内容:编写程序实现ADT表的定义,及常用操作:1)、判断表是否为空;源程序#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "malloc.h"/ 定义链表中的节点typedef struct node int member; / 节点中的元素 struct node *pNext; / 指向下一个节点的指针Node,*pNode;/ 函数声明pNode CreateList(); / 创建链表函数void TraverseList(pNode ); / 遍历链表函数bool Is_Empty(pNode); / 判断链表是否为空int main()pNode pHead = NULL; / 定义初始化头节点 struct Node *pHead = NULL int flag; / 存放链表是否为空的标志, int Len; pHead = CreateList(); / 创建一个非循环单链表,并将该链表的头结点的地址付给pHead TraverseList(pHead); / 调用遍历链表函数 if (Is_Empty(pHead) = true) / 判断列表是否为空 return 0; return 0;/ 创建链表函数pNode CreateList() int i; int len; int val; pNode pHead = (pNode)malloc(sizeof(Node); pNode pTail = pHead; pTail->pNext = NULL; printf("请输入节点个数:"); scanf("%d",&len); for(i = 0; i < len; i+) printf("第 %d 个节点的数值:",i+1); scanf("%d",&val); pNode pNew = (pNode)malloc(sizeof(Node); pNew->member = val; pTail->pNext = pNew; pNew->pNext = NULL; pTail = pNew; return pHead; / 遍历链表函数void TraverseList(pNode pHead) pNode p = pHead->pNext; while(NULL != p) printf("%d ",p->member); p = p->pNext; printf("n"); return ;/ 判断链表是否为空bool Is_Empty(pNode pHead) if (NULL = pHead->pNext) printf ("链表为空!n"); return true; else return false; 运行结果输入节点个数及各节点数值如下2)获取第i个节点的内容源程序#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "malloc.h"#define maxsize 50typedef structint datamaxsize;int last;Sequenlist;Sequenlist * InitList () /创建顺序表Sequenlist * L ;L= (Sequenlist *) malloc( sizeof(Sequenlist) );L->last =0;return(L);Sequenlist * creat() /创建一个有具体内容的顺序表Sequenlist * L; int i=1,n;L=InitList( );printf("请输入数据,以0结束n");scanf("%d",&n);while(n!=0 && L->last<maxsize)L->datai=n;i=i+; L->last+;scanf("%d",&n);return(L);int GetData (Sequenlist * L, int i ) /获取第i个元素if ( i >=1 && i <=L->last)return (L->datai);elseprintf ("参数 i 不合理!n");return 0;void main()int length,i;int value,number,location;int j,k;int flag;Sequenlist * L ;L=creat();printf("Please input the locationn");scanf("%d",&location);value=GetData(L,location);printf("The number is %dn",value);运行程序依次输入链表元素的值,以0结束输入要查找元素的位置3)链表删除元素源程序#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "malloc.h"typedef int ElemType;typedef void Status;typedef struct NodeElemType data;struct Node *next;LNode, *LinkList;Status CreatList(int ,LinkList );Status Traverse(LinkList );Status FreeList(LinkList );ElemType DelElem(LinkList ,ElemType );int main()int Length;ElemType e;LinkList L;L=(LinkList)malloc(sizeof(LNode);L->next=NULL;printf("Input the Length of List:n");scanf("%d",&Length); CreatList(Length,L);printf("Travers the List :n");Traverse(L);while(1)printf("请输入要删除的元素:n");scanf("%d",&e);if(DelElem(L,e)/在L中将元素e删除 printf("删除%d后:n",e);break;printf("未找到该元素,删除失败n");Traverse(L);FreeList(L);printf("List release Success!n");return 0;Status CreatList(int Length,LinkList L)int i;LinkList Body=NULL,p=L;for (i=0;i<Length;i+)Body=(LinkList)malloc(sizeof(LNode);p->next=Body;printf("Input the %dth num:n",i+1);scanf("%d",&(Body->data);p=Body;Body->next=NULL;Status FreeList(LinkList L)LinkList temp=NULL,p=L;while (p)temp=p->next;free(p);p=temp;Status Traverse(LinkList L)LinkList p=L;p=p->next;while(p)/while(p!=NULL)printf("%d ",p->data);p=p->next;printf("n");ElemType DelElem(LinkList L,ElemType e)LinkList p,q;q=p=L;p=p->next;/p指向头结点后第一个元素 while(p)if(p->data=e)q->next=p->next; free(p);return 1; elseq=p;/q始终指向p上一个结点p=p->next;/没有执行上个return,说明没找到 return 0;运行结果:输入节点个数依次输入各个节点的数值输入要删除的元素4)链表插入元素。源程序#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "malloc.h"#define N 5typedef int elemtype;typedef struct node elemtype data; struct node *next;linklist;linklist *Creatlist(linklist*L) L=(linklist*)malloc(sizeof(linklist); L->next=NULL; return L; int Judge(linklist *L) if(L->next=NULL) printf("建表成功.n"); else printf("建表失败.n"); return 0;int Input(linklist *L,int x,linklist *r) int i; linklist *p; p=(linklist*)malloc(sizeof(linklist); p->data=x; p->next=NULL; r->next=p; printf("%d ",p->data); return 0;int Insert1(linklist *L,int i) linklist *p,*q,*r,*t; int j=1,item; p=L->next; q=L; r=L; if(L->next=NULL) printf("表空.n"); return 0; else while(p!=NULL&&j<i) q=p; p=p->next; j+; if(p=NULL) printf("%d不在表的范围内.n"); return 0; else t=(linklist*)malloc(sizeof(linklist); t->next=NULL; printf("请输入item:"); scanf("%d",&item); t->data=item; t->next=p; q->next=t; printf("在第%d位上插入值为%d的节点后的所有数据为n",i,item); for(j=0;j<N+1;j+) r=r->next; printf("%d ",r->data); printf("n"); return 1; int main() int i,item,k; linklist *L,*r; printf("单向链表的创建(包括初始化)与输出n"); L=Creatlist(L); Judge(L); printf("表中的数据为:"); r=L; Input(L,5,r); r=r->next; Input(L,32,r); r=r->next; Input(L,67,r); r=r->next; Input(L,56,r); r=r->next; Input(L,9,r); r=r->next; printf("n"); printf("在给定的单链表的第i位上插入值为item的节点n"); printf("请输入i:"); scanf("%d",&i); Insert1(L,i); return 0;运行结果:输入要节点的位置输入要插入节点的数值5)、实验心得:课上讲的ADT表的各种实现通过这次试验使我对课堂知识有了更深刻的理解。

    注意事项

    本文(数据结构与数据库实验报告张德良电工二.doc)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开