数据结构与算法实验报告.doc

数据结构与算法实验报告.doc

ID:57212365

大小:322.00 KB

页数:10页

时间:2020-08-06

数据结构与算法实验报告.doc_第1页
数据结构与算法实验报告.doc_第2页
数据结构与算法实验报告.doc_第3页
数据结构与算法实验报告.doc_第4页
数据结构与算法实验报告.doc_第5页
资源描述:

《数据结构与算法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构与算法》综合实验报告系别:专业:学生姓名:指导教师:2011年11月25日实验目的掌握线性表的建立、插入、删除算法;掌握查找算法;掌握排序算法;实验要求使用C语言(环境任意)开发程序,能够对用户输入的任意一组数据,建立一个线性表,可以输出此线性表。并且能够对此线性表进行插入、删除、查找、排序等操作。程序流程建表如下:定义一个整型的数据类型data和next指针:定义头指针和当前结点指针,申请连续空间将单个字节大小复制给头指针,把头指针赋值给当前节点指针:若输入的数是0,则若输入不为0,把输入

2、的数赋值给已申请的新结点,把新结点赋给当前节点的next域,再把新结点赋值给当前结点,以此方法重复执行得到如下链表:输出函数:把头指针赋值给当前结点指针,当当前节点的next域不为空时输出当前节点所指向的数据,把当前结点的next域赋值给当前节点,否则输出链表为空对此线性表进行插入、删除、查询、排序操作把已申请的结点数据域指向所输入的数再把插入w结点赋值头结点,是插入的位置,如果w=0则插入结点的next域赋值给头结点否则如果w>表长,则输出超出范围代码及运行结果(主要语句要求有注释)#include

3、"stdafx.h"#include#include#defineNULL0typedefstructlinknode{intdata;structlinknode*next;}node;node*head;node*creat(){node*currnode,*newnode;intx;head=(node*)malloc(sizeof(node));currnode=head;do{scanf("%d",&x);newnode=(node*)malloc(si

4、zeof(node));newnode->data=x;currnode->next=newnode;currnode=newnode;}while(x!=NULL);head=head->next;currnode->next=NULL;returnhead;};intlength(){node*currnode;inti=0;currnode=head;while(currnode->data!=NULL){currnode=currnode->next;i++;};returni;};voidp

5、rint(){node*currnode;currnode=head;printf("链表如下....linklist");while(currnode->data!=NULL){printf("%d-->",currnode->data);currnode=currnode->next;};printf("NULL");printf("链表长度为........linklistlength%d",length());};voiddelete1(){intx;node*delnode,*cur

6、rnode;printf("输入要删除的数据......inputdeletedata:");scanf("%d",&x);if(head->data==NULL)printf("此链表为空无法删除.....thislinklistempty!");if(head->data==x){delnode=head;head=head->next;free(delnode);if(head==NULL)printf("此链表为空.......thislinklistenpty!");}else{curr

7、node=head;delnode=currnode->next;while(delnode->data!=x&&delnode!=NULL){currnode=currnode->next;delnode=currnode->next;};if(delnode==NULL)printf("无此数据......nothisdata!");else{currnode->next=delnode->next;free(delnode);};};};voidfind(){node*currnode;in

8、tcount=1,x;currnode=head;printf("输入要查找的数据.......inputsearchdata:");scanf("%d",&x);while(currnode->data!=NULL&&currnode->data!=x){currnode=currnode->next;count++;};if(currnode->data!=NULL){printf("%d为第........isno.",currnode->da

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。